Vienkārša valoda par programmēšanu python 3. Python programmēšanas valoda iesācējiem. Plūsmas kontroles instrukcijas – ja, uz laiku

Pirms pāris gadu desmitiem programmētāji šķita kaut kādi šamaņi, kas zina, kas citiem nav pieejams. Dažkārt cilvēki programmēšanu apguva ceļos, rakstot kodu uz lapiņas, jo "datorierīču koncentrācija uz vienu iedzīvotāju" bija ārkārtīgi zema. Tagad ir grūti atrast cilvēku, kuram mājās nebūtu galddatora vai klēpjdatora. Arī izglītības tehnoloģijas nestāv uz vietas.

Mazliet vēstures

Python programmēšanas valodu astoņdesmito gadu beigās izstrādāja Gvido van Rosums. Gvido tajā laikā bija Nīderlandes CWI institūta darbinieks. Viņš rakstīja šo valodu savā brīvajā laikā, ievietojot tajā dažas idejas par ABC valodu, ko viņš sniedza.

Valoda netika nosaukta par godu rāpulim. Faktiski nosaukuma ideja bija septiņdesmito gadu populārajā britu komēdijas izrādē ar nosaukumu "Monty Python's Flying Circus", lai gan Python joprojām daudz biežāk tiek salīdzināts ar čūsku, jo pat emblēma oficiālajā vietnē (tajā ir redzamas divas čūskas galvas) rāda.

Ne tikai van Rosuma dizaina intuīcija tiek uzskatīta par iemeslu, kāpēc Python programmēšanas valoda ir tik populāra. Mācīšanās no nulles kļūst par patīkamu un vieglu pieredzi, ņemot vērā draudzīgas lietotāju kopienas klātbūtni.

Ne tik sen, 2008. gadā, tika izlaista pirmā ilgstoši testētā Python 3000 (3.0) versija, kurā tika novērstas daudzas arhitektūras nepilnības. Tajā pašā laikā izstrādātāji centās saglabāt saderību ar iepriekšējām valodas versijām. Lai gan ir jaunāka versija, tiek atbalstītas abas filiāles (2.x un 3.x).

Īsa programmēšanas valoda

Python ir vairākas priekšrocības salīdzinājumā ar citām valodām. Tas ir saprotams gandrīz intuitīvi, tam ir "caurspīdīga" sintakse. Tas nozīmē, ka programmas kods šajā valodā ir daudz vieglāk lasāms, kas samazina laiku ne tikai tā rakstīšanai, bet arī dažādiem uzlabojumiem un pārbaudēm.

Protams, "vecās skolas" programmētājs teiks, ka noteikti ir jāzina vairākas valodas, vai pat varat sākt ar mašīnkoda apguvi. Bet, pabeidzot programmēšanas kursu Python valodā, cilvēks iegūs ne tikai specifiskas zināšanas, bet arī iespēju realizēt savu radošo dabu, veidojot sev noderīgas aplikācijas un programmas. Iespējams, drīz programmēšana būs tikpat nepieciešama kā svešvalodas zināšanas.

Pašpārliecinātība

Ir vērts atmest maldīgo priekšstatu, ka programmēšana ir grūta. Nē, programmēšana ir daudz interesantāka, nekā izskatās; var traucēt citas aktivitātes un tā sauktais "laika trūkums" jeb slinkums.

Pamatliteratūra palīdzēs ātri apgūt programmēšanu Python valodā. Apmācības kurss jāsāk, izlasot divas grāmatas, no kurām varat apgūt pamatus. Pirmā ir Marka Luca "Python Programming", bet otrā ir Marka Samerfīlda "Python 3 Programming". Luca grāmatā ir sīki, dažkārt pat pārāk daudz aprakstīti visi pamatprincipi, uz kuriem valoda ir veidota. Daži iesaka lasīt Marku Lucu nevis apgūšanai, bet gan pamatzināšanu padziļināšanai. Samerfīlda grāmatā viss ir izskaidrots lakoniskāk, autore lasītāju nebiedē ar grūtībām. Ir arī cita literatūra, taču šīs mācību grāmatas ir visnoderīgākās un informatīvākās.

ievadkurss

Atcerēsimies pamatskolu. Kā likums, pat bērns nāk uz pirmo klasi ar minimālām zināšanām: vecāki mācījās ar kādu, kāds gāja uz "nulle". Tas pats attiecas uz Python programmēšanas valodas apguvi. Tas ir patiešām ērti un "caurspīdīgi", taču bez minimālām zināšanām par programmu pamatprincipiem apmācība būs sarežģīta. Tas ir kā mācīties mūziku, nedzirdot mūziku. Tāpēc tiem, kas ar programmēšanu vispār nav saskārušies, vajadzētu iepazīties ar "ievada minimumu".

Noderīgs palīgs būs CS50 lekcijas. Šis ir Hārvarda universitātes kurss par Java Script programmēšanu, taču pirmajās lekcijās pieejamā un saprotamā veidā tiek izskaidrota mijiedarbība starp datoru un programmām kopumā. Krievu valodā runājošam lietotājam ir pieejami šī kursa video ieraksti ar tulkojumu, papildmateriāli, lekciju teksta versijas un praktiskie uzdevumi. Videoklipus var atrast gandrīz visur, piemēram, YouTube, taču viss saturs atrodas Java Script vietnē.

Internetā

Python programmēšanas valoda gūst popularitāti, tāpēc jau ilgu laiku ir bijuši vairāki portāli, kuros ir daudz pašmācības materiālu. Piemēram, "Python 3 iesācējiem". Šajā vietnē ir daudz materiālu iesācējiem, to var izmantot kā apkrāptu lapu. Codecademy vietnē ir arī liels informācijas apjoms par šo tēmu ar bezmaksas piekļuvi.

Foruma komunikācija ir svarīga. Mācīties vienam vienmēr ir grūtāk, tāpēc neaizmirstiet dažādas kopienas.

Maksas kursi

Jūs vienmēr varat izmantot maksas kursus, bet dažreiz tas maksā daudz naudas, un rezultāts var būt neapmierinošs. Tāpēc, protams, vēlams izvēlēties kursus, kas piedāvā bezmaksas iepazīšanās uzdevumu. Piemēram, vietnē GeekBrains ir intensīva tēma "Python Programming Fundamentals". Nodarbība ir bezmaksas un notiek ik pēc 10 dienām. Lai reģistrētos, jums ir jāpiesakās vietnē.

Padoms. Neatkarīgi no tā, kādu kursu izvēlaties, vispirms iepazīstieties ar valodas pamatiem, lai netērētu laiku kaut kam, ko varat viegli apgūt pats. Pietiks izlasīt augstāk minētās grāmatas.

Protams, kad teorija apgūta, gribas praktizēt. Te noteikti jāpiemin Nika Parlante lekcijas. Tie ir angļu valodā, lai gan kopumā angļu valodā ir daudz labas izglītojošas literatūras, un tam nevajadzētu pārsteigt. Lekcijās Niks ne tikai māca Python programmēšanas valodu, bet arī sniedz izcilus praktiskus uzdevumus.

Lietošana

Python programmēšanas valoda ir izmantota, lai izveidotu daudzas lietojumprogrammas, kuras daudzi cilvēki izmanto ikdienā. Piemēram, šī ir sestā BitTorrent torrent klienta versija. Arī "Python" ("Pyton") tiek izmantots bitkartes grafikas redaktorā Gimp. Ar to tiek izveidoti, piemēram, papildu moduļi, filtri. Liela daļa no Civilization IV un Batterfield 2 ir rakstītas šajā valodā.

Python izmanto tādi uzņēmumi kā Google, Facebook, Instagram, Dropbox, Pinterest. Tas darbojas arī Yandex Disk lietojumprogrammas kodolā. Aptuveni 10% uzņēmuma darbinieku raksta Python valodā, un daudzi programmētāji to sauc par savu iecienītāko valodu.

Kā sākt

Neviens kods nevar darboties "gaisā", Python programmēšanas valoda arī pakļaujas šim noteikumam. Mācīšanās no nulles, lai arī sākas ar teoriju, patiesībā, var teikt, sākas ar darba vides uzstādīšanu personālajā datorā. Kā to izdarīt? Tas ir vienkārši: sekojiet oficiālās Python vietnes saitei, lejupielādējiet un palaidiet instalēšanas programmu un pēc tam rūpīgi izpildiet tās ieteiktās darbības.

Lūdzu, ņemiet vērā, ka jums ir jālejupielādē datorā instalētajai operētājsistēmai piemērots fails!

Ja instalēšana bija veiksmīga, atveriet konsoli (parasti to var izdarīt ar īsinājumtaustiņu "ctrl + alt + T"). Tagad jūs varat uzrakstīt savu pirmo programmu. Piemēram, ievadiet "python3". Ja konsolē tika parādīts "sveiciens", kurā ir norādīta programmas versija (piemēram, 3.4.0), tad viss ir kārtībā, ja nē, tad jāinstalē trešā "Python" versija ar komandu: "sudo apt-get install python3".
Tomēr tas nav nepieciešams. Varat rakstīt kodu jebkurā ērtā teksta redaktorā un pēc tam palaist to, izmantojot konsoli, vai arī varat izmantot IDLE izstrādes vidi, kas tiek piegādāta kopā ar izplatīšanu.

Sāciet IDLE. Lai izveidotu niecīgu programmu, nepieciešama tikai viena koda rindiņa.

drukāt ("Sveika pasaule!")

Ievadiet šo kodu IDLE logā un nospiediet taustiņu Enter. Vide uzreiz reaģēs ar darbību – ekrānā parādīs nepieciešamo tekstu. Pirmā programma ir gatava.

Programmēšana Python

1. daļa. Valodas līdzekļi un pamata sintakse

Satura sērija:

Vai ir vērts mācīties Python?

Python ir viena no populārākajām mūsdienu programmēšanas valodām. Tas ir piemērots dažādu problēmu risināšanai un piedāvā tādas pašas iespējas kā citas programmēšanas valodas: dinamisms, OOP un starpplatformu atbalsts. Python izstrādi tālajā deviņdesmito gadu vidū aizsāka Gvido Van Rosums, tāpēc līdz šim tam ir izdevies atbrīvoties no standarta "bērnības" slimībām, būtiski attīstīt valodas labākos aspektus un piesaistīt daudz programmētāju, kuri izmanto Python. īstenot savus projektus.

Daudzi programmētāji uzskata, ka ir jāapgūst tikai "klasiskās" programmēšanas valodas, piemēram, Java vai C++, jo citas valodas tik un tā nespēs nodrošināt tādas pašas iespējas. Taču pēdējā laikā valda uzskats, ka programmētājam vēlams zināt vairāk nekā vienu valodu, jo tas paplašina redzesloku, ļaujot radošāk risināt uzdevumus un paaugstināt konkurētspēju darba tirgū.

Divu valodu, piemēram, Java un C++, apguve līdz pilnībai ir diezgan sarežģīta un aizņemtu daudz laika; turklāt daudzi šo valodu aspekti ir pretrunā viens otram. Tajā pašā laikā Python ir ideāli piemērots otrās valodas lomai, jo tiek uzreiz asimilēts, pateicoties jau esošajām zināšanām OOP, un tam, ka tā iespējas nekonfliktē, bet papildina pieredzi, kas iegūta, strādājot ar citu programmēšanu. valodu.

Ja programmētājs programmatūras izstrādes jomā tikai sāk darboties, tad Python būs ideāla "ievada" programmēšanas valoda. Tā kodolīguma dēļ tas ļaus ātri apgūt valodas sintaksi, un “mantojuma” trūkums gadu gaitā veidotu aksiomu veidā palīdzēs ātri apgūt OOP. Šo faktoru dēļ Python mācīšanās līkne būs diezgan īsa, un programmētājs varēs pāriet no gadījumu izpētes uz komerciāliem projektiem.

Tāpēc neatkarīgi no tā, vai šī raksta lasītājs ir pieredzējis programmētājs vai iesācējs programmatūras izstrādes jomā, atbildei uz jautājumu, kas ir šīs sadaļas nosaukums, vajadzētu būt pārliecinošam jā.

Šī rakstu sērija ir izstrādāta, lai palīdzētu jums veiksmīgi pārvarēt mācīšanās līkni, konsekventi sniedzot informāciju no valodas pamatprincipiem līdz tās uzlabotajām iespējām saistībā ar integrāciju ar citām tehnoloģijām. Pirmajā rakstā mēs runāsim par Python galvenajām funkcijām un sintaksi. Nākotnē mēs apskatīsim sarežģītākus aspektus darbā ar šo populāro valodu, jo īpaši Python objektorientēto programmēšanu.

Python arhitektūra

Jebkura valoda, gan programmēšanai, gan saziņai, sastāv vismaz no divām daļām – vārdu krājuma un sintakses. Python valoda ir sakārtota tādā pašā veidā, nodrošinot sintaksi izteiksmju ģenerēšanai, kas veido izpildāmās programmas, un vārdnīcu, funkcionalitātes kopu standarta bibliotēkas un spraudņu veidā.

Kā jau minēts, Python sintakse ir diezgan kodolīga, it īpaši, ja salīdzina ar Java vai C++. No vienas puses, tas ir labi, jo jo vienkāršāka ir sintakse, jo vieglāk to apgūt un mazāk kļūdu var pieļaut tās lietošanas procesā. Tomēr šādām valodām ir trūkums - tās var izmantot, lai nodotu visvienkāršāko informāciju, un tās nevar izteikt sarežģītas struktūras.

Tas neattiecas uz Python, jo tā ir vienkārša, bet vienkāršota valoda. Lieta tāda, ka Python ir valoda ar augstāku abstrakcijas līmeni, augstāku, piemēram, par Java un C ++, un ļauj pārsūtīt tādu pašu informācijas apjomu mazākā avota koda apjomā.

Turklāt Python ir vispārējas nozīmes valoda, tāpēc to var izmantot gandrīz jebkurā programmatūras izstrādes jomā (savrupā, klienta serverī, tīmekļa lietojumprogrammās) un jebkurā priekšmetu jomā. Turklāt Python viegli integrējas ar esošajiem komponentiem, kas ļauj iegult Python jau rakstītās lietojumprogrammās.

Vēl viena Python panākumu daļa ir tā standarta un specifiskie paplašinājumu moduļi. Standarta Python paplašinājumu moduļi ir labi izstrādāta un pārbaudīta funkcionalitāte problēmu risināšanai, kas rodas katrā programmatūras izstrādes projektā, virkņu un teksta apstrādē, mijiedarbībā ar operētājsistēmu, Web lietojumprogrammu atbalstam. Arī šie moduļi ir rakstīti Python valodā, tāpēc tiem ir tā svarīgākā īpašība – cross-platform, kas ļauj ātri un nesāpīgi pārsūtīt projektus no vienas operētājsistēmas uz otru.

Ja vajadzīgā funkcionalitāte nebija Python standarta bibliotēkā, varat izveidot savu paplašinājuma moduli turpmākai atkārtotai lietošanai. Šeit ir vērts atzīmēt, ka Python paplašinājumu moduļus var izveidot ne tikai pašā Python, bet arī izmantojot citas programmēšanas valodas. Šajā gadījumā kļūst iespējams efektīvāk īstenot resursietilpīgus uzdevumus, piemēram, sarežģītus zinātniskus aprēķinus, taču starpplatformu priekšrocības tiek zaudētas, ja paplašinājuma moduļa valoda pati par sevi nav starpplatformu, piemēram, Python.

Python izpildlaiks

Kā zināms, visas starpplatformu programmēšanas valodas ir veidotas pēc viena modeļa: tas ir patiesi pārnēsājams pirmkods un izpildlaika vide, kas nav pārnēsājama un ir raksturīga katrai konkrētai platformai. Šajā izpildlaikā parasti ir iekļauts tulks, kas izpilda avota kodu, un dažādas utilītas, kas nepieciešamas lietojumprogrammas uzturēšanai – atkļūdotājs, reversais montētājs un tā tālāk.

Java Runtime Environment papildus ietver kompilatoru, jo avota kods ir jāapkopo Java virtuālās mašīnas baitkodā. Python izpildlaikā ir iekļauts tikai tulks, kas vienlaikus ir arī kompilators, bet kompilē Python pirmkodu tieši mērķa platformas vietējā kodā.

Pašlaik Python ir trīs labi zināmas izpildlaika implementācijas: CPython, Jython un Python.NET. Kā norāda nosaukums, pirmā vide ir ieviesta C valodā, otrā - Java, bet pēdējā - .NET.

CPython izpildlaiku parasti sauc vienkārši par Python, un, kad cilvēki runā par Python, šī ieviešana visbiežāk tiek minēta. Šī implementācija sastāv no tulka un paplašinājuma moduļiem, kas rakstīti C valodā, un to var izmantot jebkurā platformā, kurai ir pieejams standarta C kompilators. Turklāt jau ir apkopotas izpildlaika versijas dažādām operētājsistēmām, tostarp dažādām OC Windows versijām. un dažādi izplatījumi.linux. Šajā un turpmākajos rakstos tiks aplūkots CPython, ja vien nav atsevišķi norādīts citādi.

Jython izpildlaiks ir Python implementācija darbam ar Java virtuālo mašīnu (JVM). Tiek atbalstīta jebkura JVM versija, sākot ar versiju 1.2.2 (pašreizējā Java versija ir 1.6). Jython ir nepieciešama instalēta Java mašīna (Java izpildlaika vide) un dažas Java programmēšanas valodas zināšanas. Jums nav jāzina, kā rakstīt Java avota kodu, taču jums būs jāpārzina JAR faili un Java sīklietotnes, kā arī dokumentācija JavaDOC formātā.

Kuru vides versiju izvēlēties, ir atkarīgs tikai no programmētāja vēlmēm, kopumā ieteicams datorā paturēt gan CPython, gan Jython, jo tie nav pretrunā viens ar otru, bet papildina viens otru. CPython vide ir ātrāka, jo nav starpslāņa JVM formā; turklāt atjauninātās Python versijas vispirms tiek izlaistas kā CPython vide. Tomēr Jython var izmantot jebkuru Java klasi kā paplašinājuma moduli un darboties jebkurā platformā, kurai ir JVM ieviešana.

Abi izpildlaiki tiek izlaisti saskaņā ar licenci, kas ir saderīga ar plaši pazīstamo GPL, tāpēc tos var izmantot gan komerciālas, gan bezmaksas programmatūras izstrādei. Lielākā daļa Python paplašinājumu moduļu tiek izdoti arī saskaņā ar GPL licenci, un tos var brīvi izmantot jebkurā projektā, taču ir arī komerciāli paplašinājumi vai paplašinājumi ar stingrākām licencēm. Tāpēc, izmantojot Python komerciālā projektā, jums jāzina, kādi ierobežojumi pastāv paplašinājuma spraudņu licencēs.

Darba sākšana ar Python

Lai sāktu lietot Python, jums ir jāinstalē tā izpildlaika vide - šajā rakstā tas ir CPython un attiecīgi python tulks. Ir dažādas instalēšanas metodes: pieredzējuši lietotāji paši var kompilēt Python no tā publiskā pirmkoda, jūs varat arī lejupielādēt gatavus izpildāmos failus konkrētai operētājsistēmai no vietnes www.python.org, un, visbeidzot, daudzi Linux izplatījumi ir aprīkoti ar Python tulks jau ir iepriekš instalēts. Šajā rakstā tiek izmantota Python 2.x Windows versija, taču sniegtos piemērus var palaist jebkurā Python versijā.

Pēc tam, kad instalētājs ir izvietojis Python izpildāmos failus norādītajā direktorijā, jums jāpārbauda šādu sistēmas mainīgo vērtības:

  • CEĻŠ. Šim mainīgajam ir jāietver ceļš uz direktoriju, kurā ir instalēts Python, lai operētājsistēma to varētu atrast.
  • PYTONHOME. Šajā mainīgajā ir jāietver tikai ceļš uz direktoriju, kurā ir instalēts Python. Šajā direktorijā jāiekļauj arī lib apakšdirektorijs, kurā tiks meklēti standarta Python moduļi.
  • PITONPATS. Mainīgais ar direktoriju sarakstu, kurā ir paplašinājumu moduļi, kas tiks savienoti ar Python (saraksta vienumi ir jāatdala ar sistēmas atdalītāju).
  • PYTHONSTARTUP . Neobligāts mainīgais, kas nosaka ceļu uz Python skriptu, kas jāizpilda katru reizi, kad tiek sākta interaktīva Python tulka sesija.

Komandrindai darbam ar tulku ir šāda struktūra.

PYTHONHOME\python (opcijas) [ -c komanda | skripta fails | - ] (argumenti)

Python interaktīvais režīms

Ja palaižat tulku, nenorādot komandu vai skripta failu, tas darbosies interaktīvajā režīmā. Šajā režīmā tiek palaists īpašs Python apvalks, kurā var ievadīt atsevišķas komandas vai izteiksmes, un to vērtība nekavējoties tiks aprēķināta. Tas ir ļoti ērti, apgūstot Python, jo jūs varat nekavējoties pārbaudīt konkrētas konstrukcijas pareizību.

Novērtētās izteiksmes vērtība tiek saglabāta īpašā mainīgajā ar nosaukumu Single Underscore (_), lai to varētu izmantot nākamajās izteiksmēs. Varat beigt interaktīvo sesiju, nospiežot Ctrl-Z operētājsistēmā Windows vai Ctrl-D operētājsistēmā Linux.

Opcijas ir izvēles virknes vērtības, kas var mainīt tulka uzvedību sesijas laikā; to nozīme tiks apspriesta šajā un turpmākajos rakstos. Pēc opcijām seko viena komanda, kas jāizpilda tulkam, vai ceļš uz failu, kurā ir izpildāms skripts. Ir vērts atzīmēt, ka komanda var sastāvēt no vairākām izteiksmēm, kas atdalītas ar semikolu, un tā ir jāiekļauj pēdiņās, lai operētājsistēma to varētu pareizi nodot tulkam. Argumenti ir tie parametri, kas tiek nodoti tālākai apstrādei izpildāmajam skriptam; tie tiek nodoti programmai kā virknes un atdalīti ar atstarpēm.

Varat palaist šādas komandas, lai pārbaudītu, vai Python ir pareizi instalēts un darbojas:

c:\>python-v
c:\> python –c “importēšanas laiks; drukas laiks.asctime()”

Opcija -v parāda izmantoto Python implementācijas versiju un iziet, savukārt otrā komanda ekrānā drukā sistēmas laika vērtību.

Python skriptus var rakstīt jebkurā teksta redaktorā, jo tie ir vienkārša teksta faili, taču ir īpašas izstrādes vides, kas paredzētas darbam ar Python.

Python sintakses pamati

Python pirmkoda skripti sastāv no t.s loģiskās virknes, no kuriem katrs savukārt sastāv no fiziskās stīgas. Simbols # tiek izmantots, lai apzīmētu komentārus. Tulks ignorē komentārus un tukšas rindas.

Šis ir ļoti svarīgs aspekts, kas var šķist dīvains programmētājiem, kuri apgūst Python kā otro programmēšanas valodu. Lieta ir tāda, ka Python nav neviena simbola, kas būtu atbildīgs par izteiksmju atdalīšanu cita no citas avota kodā, piemēram, semikolu (;) C++ vai Java. Semikols ļauj atdalīt vairākas instrukcijas, ja tās atrodas vienā fiziskajā rindā. Nav arī tādas konstrukcijas kā cirtaini iekavas (), kas ļauj apvienot instrukciju grupu vienā blokā.

Fiziskās virknes atdala pati rindas beigu rakstzīme, bet, ja izteiksme vienai virknei ir pārāk gara, tad abas fiziskās virknes var apvienot vienā loģiskā. Lai to izdarītu, pirmās rindas beigās ir jāievada slīpsvītra (\), un pēc tam tulks nākamo rindu interpretēs kā pirmās rindas turpinājumu, taču citas rakstzīmes nevarēs būt pirmajā rindā pēc rakstzīmes \, piemēram, komentārs ar #. Atkāpe tiek izmantota, lai izceltu koda blokus. Loģiskās līnijas ar vienādu atkāpes izmēru veido bloku, un bloks beidzas, kad parādās loģiskā līnija ar mazāku atkāpi. Tāpēc Python skripta pirmajā rindā nevajadzētu būt atkāpei. Šo vienkāršo noteikumu apgūšana palīdzēs izvairīties no lielākās daļas kļūdu, kas saistītas ar jaunas valodas apguvi.

Python sintaksē nav citu radikālu atšķirību no citām programmēšanas valodām. Ir standarta operatoru un atslēgvārdu komplekts, no kuriem lielākā daļa jau ir pazīstami programmētājiem, bet Python specifiskie tiks apskatīti šajā un turpmākajos rakstos. Tiek izmantoti arī standarta noteikumi mainīgo, metožu un klašu identifikatoru iestatīšanai - nosaukumam jāsākas ar pasvītrojumu vai jebkura reģistra latīņu rakstzīmi, un tajā nedrīkst būt @, $, %. Tāpat kā identifikatoru nevar izmantot tikai vienu pasvītrojumu (skatiet zemsvītras piezīmi par interaktīvo režīmu).

Python izmantotie datu veidi

Python izmantotie datu tipi ir tādi paši kā citās valodās - veseli skaitļi un reālie datu tipi; papildus tiek atbalstīts komplekss datu tips - ar reālo un iedomāto daļu (šāda skaitļa piemērs ir 1,5J vai 2j, kur J ir kvadrātsakne no -1). Python atbalsta virknes, kuras var ievietot vienpēdiņās, dubultpēdiņās vai trīspēdiņās, savukārt virknes, tāpat kā Java, ir nemainīgi objekti, t.i. nevar mainīt to vērtību pēc radīšanas.

Python ir arī loģisks būtības datu tips ar divām vērtību opcijām - True un False. Tomēr vecākām Python versijām nebija šī datu veida, un turklāt jebkurš datu tips varēja tikt nodots Būla vērtībai True vai False. Visi skaitļi, kas nav nulle, un virknes, kas nav tukšas, tika uzskatītas par patiesām, savukārt tukšas un nulles vērtības tika uzskatītas par nepatiesām. Šī funkcija ir saglabāta jaunajās Python versijās, tomēr, lai palielinātu koda lasāmību, Būla mainīgajiem ieteicams izmantot bool tipu. Tajā pašā laikā, ja jums ir jāsaglabā atpakaļejoša savietojamība ar vecākām Python implementācijām, kā Būla mainīgos ir jāizmanto 1 (patiesa) vai 0 (false).

Funkcionalitāte darbam ar datu kopām

Python definē trīs veidu kolekcijas datu kopu glabāšanai:

  • tuple;
  • saraksts (saraksts);
  • vārdnīca.

Korpuss ir nemainīga sakārtota datu secība. Tajā var būt dažāda veida elementi, piemēram, citi korteži. Korpuss ir definēts iekavās, un tā elementi ir atdalīti ar komatiem. Īpašā iebūvētā funkcija tuple() ļauj izveidot korešus no noteiktas datu secības.

Saraksts ir mainīga sakārtota elementu secība. Saraksta elementi ir arī atdalīti ar komatiem, bet jau ir iestatīti kvadrātiekavās. Funkciju list() izmanto, lai izveidotu sarakstus.

Vārdnīca ir hash tabula, kurā tiek saglabāts elements kopā ar tā atslēgas identifikatoru. Turpmākā piekļuve elementiem tiek veikta arī ar atslēgu, tāpēc vārdnīcas uzglabāšanas vienība ir atslēgas objektu pāris un saistītais vērtību objekts. Vārdnīca ir mainīga, bet ne sakārtota kolekcija, tāpēc vārdnīcas elementu secība laika gaitā var mainīties. Vārdnīca ir norādīta iekavās, atslēga ir atdalīta no vērtības ar kolu, bet paši atslēgas/vērtības pāri ir atdalīti ar komatiem. Funkcija dict() ir pieejama vārdnīcu izveidei.

1. sarakstā ir parādīti dažādu Python pieejamo kolekciju piemēri.

Saraksts 1. Python pieejamie kolekcijas veidi
('w','o','r','l','d') # piecu elementu virkne (2.62,) # viena elementa kortežs ["test","me"] # divu elementu saraksts # tukšs saraksts ( 5:'a', 6:'b', 7:'c' ) # 3 elementu vārdnīca ar int taustiņiem

Funkciju definēšana Python

Lai gan Python atbalsta OOP, daudzas tā funkcijas tiek īstenotas kā atsevišķas funkcijas; turklāt paplašinājumu moduļi visbiežāk tiek izgatavoti arī funkciju bibliotēkas veidā. Funkcijas izmanto arī klasēs, kur tās tradicionāli sauc par metodēm.

Python funkciju definēšanas sintakse ir ārkārtīgi vienkārša; ievērojot iepriekš minētās prasības:

def FUNCTION_NAME(parametri): izteiksme #1 izteiksme #2 ...

Kā redzat, ir jāizmanto def atslēgvārds, kols un atkāpe. Funkcijas izsaukšana ir arī ļoti vienkārša:

FUNCTION_NAME(parametri)

Jāņem vērā tikai dažas Python specifiskas lietas. Tāpat kā Java, primitīvās vērtības tiek nodotas pēc vērtības (parametra kopija nokļūst funkcijā, un tā nevar mainīt vērtību, kas iestatīta pirms funkcijas izsaukšanas), un sarežģīti objektu tipi tiek nodoti ar atsauci (tiek nodota atsauce funkcijai, un tas var mainīt objektu).

Parametrus var nodot vai nu vienkārši uzskaitīšanas secībā, vai pēc nosaukuma, šajā gadījumā zvanot nav jānorāda tie parametri, kuriem ir noklusējuma vērtības, bet gan jānodod tikai obligātie vai jāmaina parametru secība, izsaucot funkcija:

#funkcija, kas veic veselu skaitļu dalīšanu - izmantojot operatoru // def foo(delimoe, delitel): return delimoe // delitel print divide(50,5) # darba rezultāts: 10 print dide(delitel=5, delimoe=50) # rezultāts darbi: 10

Python funkcijai ir jāatgriež vērtība, vai nu tieši izmantojot atgriešanas priekšrakstu, kam seko atgriešanas vērtība, vai, ja atgriešanas priekšraksta nav, atgriežot konstanti None, kad tiek sasniegts funkcijas beigas. Kā redzams no funkciju deklarāciju piemēriem, Python nav nepieciešams norādīt, vai kaut kas tiek atgriezts no funkcijas vai nē, tomēr, ja funkcijā ir viens atgriešanas priekšraksts, kas atgriež vērtību, tad citi atgriešanas priekšraksti šai funkcijai ir jāatgriež vērtības, un, ja ir šāda vērtība nē, jums ir skaidri jāieraksta return None.

Ja funkcija ir ļoti vienkārša un sastāv no vienas rindas, tad to var definēt tieši lietošanas vietā, Python valodā šādu konstrukciju sauc par lambda funkciju (lambda). Lambda funkcija ir anonīma funkcija (bez sava nosaukuma), kuras pamatteksts ir atgriešanas priekšraksts, kas atgriež kādas izteiksmes vērtību. Šī pieeja dažās situācijās var būt ērta, taču ir vērts atzīmēt, ka šādu funkciju atkārtota izmantošana nav iespējama (“kur tu esi dzimis, tas noderēja”).

Ir arī vērts aprakstīt Python attieksmi pret rekursijas izmantošanu. Pēc noklusējuma rekursijas dziļums ir ierobežots līdz 1000 līmeņiem, un, kad šis līmenis ir izturēts, tiks izmests izņēmums un programma tiks apturēta. Tomēr šo ierobežojumu vajadzības gadījumā var mainīt.

Python funkcijām ir arī citas interesantas funkcijas, piemēram, dokumentācija vai iespēja definēt ligzdotas funkcijas, taču tās tiks apspriestas turpmākajos sērijas rakstos ar sarežģītākiem piemēriem.

O Python(labāk teikt "python", lai gan daži saka "pitons") - šī pētījuma subjekts, šīs programmēšanas valodas radītājs, holandietis Gvido van Rosums, vislabāk saka:

"Python ir interpretēta, objektorientēta, augsta līmeņa programmēšanas valoda ar dinamisku semantiku. Iebūvētas augsta līmeņa datu struktūras, kas apvienotas ar dinamiskā rakstīšana un saistošs padara valodu pievilcīgu ātrai lietojumprogrammu izstrādei (RAD, Rapid Application Development). Turklāt to var izmantot kā skriptu valodu programmatūras komponentu saistīšanai. Python sintakse ir viegli apgūstama, un tā uzsver koda lasāmību, kas samazina programmatūras produktu uzturēšanas izmaksas. Python atbalsta moduļus un pakotnes, veicinot modularitāti un koda atkārtotu izmantošanu. Python tulks un lielā standarta bibliotēka ir pieejami bez maksas kā avota un izpildāmie kodi visām galvenajām platformām, un tos var brīvi izplatīt.

Šīs definīcijas nozīme tiks atklāta izpētes procesā, taču pagaidām pietiek zināt, ka Python ir universāla programmēšanas valoda. Tam ir savas priekšrocības un trūkumi, kā arī pielietojuma jomas. Python ir aprīkots ar plašu standarta bibliotēku plašam uzdevumu klāstam. Internetā ir pieejamas kvalitatīvas Python bibliotēkas dažādās mācību jomās: tekstapstrādes rīki un interneta tehnoloģijas, attēlu apstrāde, lietojumprogrammu izveides rīki, datu bāzes piekļuves mehānismi, zinātniskās skaitļošanas pakotnes, GUI veidošanas bibliotēkas utt. Turklāt Python ir diezgan vienkārši līdzekļi integrācijai ar C, C++ (un Java), gan iegulstot tulku programmās šajās valodās, gan otrādi, izmantojot Python programmās šajās valodās rakstītas bibliotēkas. Python valoda atbalsta vairākus paradigmas programmēšana: obligāta (procedūras, strukturālas, modulāras pieejas), objektorientēta un funkcionāla programmēšana.

Varam uzskatīt, ka Python ir vesela tehnoloģija programmatūras produktu (un to prototipu) izveidei. Tas ir pieejams gandrīz visās mūsdienu platformās (gan 32 bitu, gan 64 bitu) ar C kompilatoru un Java platformā.

Var šķist, ka programmatūras industrijā nav vietas nekam citam kā C/C++, Java, Visual Basic, C#. Tomēr tā nav. Iespējams, pateicoties šim lekciju un praktisko vingrinājumu kursam, Python būs jauni piekritēji, kuriem tas kļūs par neaizstājamu rīku.

Kā aprakstīt valodu?

Šīs lekcijas mērķis nav sistemātiski aprakstīt Python: tam ir oriģināla rokasgrāmata. Šeit tiek piedāvāts aplūkot valodu vienlaikus vairākos aspektos, kas tiek panākts ar piemēru kopumu, kas ļaus ātrāk pievienoties reālai programmēšanai nekā stingras akadēmiskās pieejas gadījumā.

Tomēr ir vērts pievērst uzmanību pareizai valodas aprakstīšanas pieejai. Programmas izveide vienmēr ir komunikācija, kurā programmētājs nodod datoram informāciju, kas nepieciešama, lai tas varētu veikt darbības. To, kā programmētājs saprot šīs darbības (tas ir, "nozīmē"), var saukt semantika. Šīs nozīmes nodošanas līdzeklis ir sintakse programmēšanas valoda. Nu parasti sauc to, ko tulks dara, pamatojoties uz ieskaitīto pragmatika. Rakstot programmu, ir ļoti svarīgi, lai šajā ķēdē nebūtu kļūdu.

Sintakse ir pilnībā formalizēta daļa: to var aprakstīt formālā valoda sintakses diagrammas (kas tiek darīts atsauces rokasgrāmatās). Pragmatikas izpausme ir pats valodas tulks. Tas ir tas, kurš nolasa saskaņā ar sintaksi uzrakstīto "ziņu" un pārvērš to darbībās saskaņā ar tajā iestrādāto algoritmu. Tikai semantika paliek neformāla sastāvdaļa. Programmēšanas lielākā sarežģītība slēpjas nozīmes tulkošanā formālā aprakstā. Python valodas sintaksei ir jaudīgas funkcijas, kas palīdz programmētāja izpratni par problēmu tuvināt tulka "izpratnei". Python iekšējā struktūra tiks apspriesta vienā no noslēguma lekcijām.

Python valodas vēsture

Python uzsāka Gvido van Rosums 1991. gadā, kad viņš strādāja pie Amoeba izplatītās operētājsistēmas. Viņam bija nepieciešama paplašināma valoda, kas nodrošinātu atbalstu sistēmas zvaniem. Par pamatu tika ņemti ABC un Modula-3. Viņš izvēlējās Python kā nosaukumu pēc BBC komēdijseriāla Monty Python's Flying Circus, nevis pēc čūskas nosaukuma. Kopš tā laika Python ir attīstījies ar to organizāciju atbalstu, kurās ir strādājis Gvido. Īpaši aktīvi valoda tiek pilnveidota šobrīd, kad pie tās strādā ne tikai veidotāju komanda, bet arī vesela programmētāju kopiena no visas pasaules. Un tomēr pēdējais vārds par valodas attīstības virzienu paliek Gvido van Rosumam.

Šis materiāls ir paredzēts tiem, kuri jau ir iepazinušies ar programmēšanu un vēlas apgūt Python programmēšanas valodu. Tas ir paredzēts, lai 10 minūtēs ar piemēriem parādītu Python valodas funkcijas, sintakses līdzekļus un pamatprincipus darbam ar Python. Šeit nav "ūdens" - informācija, kas nav tieši saistīta ar programmēšanas valodu. Sāksim!

Python programmēšanas valoda izceļas ar spēcīgu mašīnrakstīšanu (Spēcīga mašīnrakstīšana izceļas ar to, ka valoda neļauj jaukt dažādus veidus izteiksmēs un neveic automātiskas netiešas konversijas, piemēram, no virknes nav iespējams atņemt kopu) , tiek izmantota dinamiskā rakstīšana - visi veidi tiek noskaidroti jau programmas izpildes laikā.

Mainīgo deklarācija nav obligāta, nosaukumos ir reģistrjutīgi (var un VAR ir divi dažādi mainīgie).

Python ir objektorientēta valoda, viss valodā ir objekts.

Iegūt palīdzību

Palīdzība (palīdzība) Python vienmēr ir pieejama tieši tulkā. Ja vēlaties uzzināt, kā objekts darbojas, zvaniet palīdzībai ( ). Noderīga instrukcija ir arī dir() , kas parāda visas objekta metodes un objektu īpašības .__doc__ , kas parādīs dokumentu virkni:

>>> palīdzība(5) Palīdzība int objektam: (utt. utt.) >>> dir(5) ["__abs__", "__add__", ...] >>> abs.__doc__ "abs(skaitlis) -> numurs Atgriež argumenta absolūto vērtību."

Python sintakse

Python nav bloku beigu konstrukciju (piemēram, klases vai funkcijas deklarācijas) — bloki tiek definēti, izmantojot atkāpi. Palieliniet atkāpi bloka sākumā, samaziniet to bloka beigās. Paziņojumus, kuriem nepieciešama atkāpe, beidz ar kolu (:). Ja pēc bloka sākuma priekšraksta jums nav koda, ievietojiet apstiprinājuma paziņojumu, lai izietu sintakses pārbaudi.

Kamēr diapazonu saraksts == 1: iziet

Vienas rindiņas komentāri sākas ar mārciņas zīmi (#), vairāku rindiņu komentāri tiek izmantoti ("") komentāra sākumā un beigās.

Vērtības tiek piešķirtas, izmantojot vienādības zīmi ("=") (faktiski objektiem šajā procesā tiek piešķirti nosaukumi).

Atšķirību pārbaude tiek veikta ar divām vienādām rakstzīmēm ("==").

Varat palielināt vērtību, izmantojot operatoru +=, un samazināt to ar -=, norādot mainīgo kreisajā pusē, bet vērtību, par kādu tiks palielināts/samazināts, labajā pusē. Tas darbojas ar daudziem Python datu veidiem, tostarp virknēm.

Varat piešķirt vērtību vairākiem mainīgajiem vienā un tajā pašā rindā. Piemēri:

>>> myvar = 3 >>> myvar += 2 >>> myvar 5 >>> myvar -= 1 >>> myvar 4 """Šis ir vairāku rindu komentārs. Šīs rindas savieno abas virknes.""" >>> mystring = "Sveiki" >>> mystring += "pasaule." >>> drukāt mystring Sveika pasaule. # Tas apmaina mainīgos vienā rindā (!). # Tas nepārkāpj stingru drukāšanu, jo vērtības netiek piešķirtas, bet jauni objekti ir saistīti ar # vecajiem nosaukumiem. >>> myvar, mystring = myvar, myvar

Datu tipi programmā Python

Programmā Python ir pieejami tādi datu tipi kā saraksti (saraksti), korteži (koreži) un vārdnīcas (vārdnīcas). Ir pieejami arī komplekti, izmantojot komplektu moduli versijās, kas vecākas par Python 2.5, un iebūvētas valodā jaunākās versijās.

Saraksti ir līdzīgi viendimensijas masīviem. Ir iespējams izveidot sarakstu, kas sastāv no citiem sarakstiem.

Vārdnīcas ir asociatīvi masīvi, kuros datiem var piekļūt, izmantojot atslēgu.

Korpusi ir nemainīgi viendimensijas masīvi.

Python "masīvi" var būt jebkura veida, kas nozīmē, ka sarakstos/vārdnīcās/korejās varat apvienot skaitļus, virknes un citus datu tipus.

Pirmā elementa indekss ir 0. Negatīvā indeksa vērtība sāk skaitīt no pēdējā līdz pirmajam, [-1] norāda uz pēdējo elementu.

Mainīgie var norādīt uz funkcijām.

>>> sample = , ("a", "tuple")] >>> mylist = ["Saraksta vienums 1", 2, 3.14] >>> mylist = "Saraksta vienums 1 vēlreiz" # Mēs mainām vienumu >>> mylist[-1] = 3.21 # Šeit mēs atsaucamies uz pēdējo vienumu >>> mydict = ("1. atslēga": "1. vērtība", 2: 3, "pi": 3.14) >>> mydict[ "pi"] = 3.15 # Tādā veidā jūs maināt vārdnīcas vērtības>>> mytuple = (1, 2, 3) >>> myfunction = len >>> drukāt myfunction(mylist) 3

Varat sadalīt masīvu (sarakstu vai kopu), izmantojot kolu (:). Atstājot indeksa sākotnējo vērtību tukšu, jāsāk ar pirmo vērtību, indeksa beigu tukšā vērtība uzņemas pēdējo masīva elementu. Negatīvie indeksi tiek skaitīti atpakaļ no masīva beigām (-1 norāda pēdējo elementu).

Skatīt piemērus:

>>> mylist = ["Saraksta vienums 1", 2, 3.14] >>> drukāt mylist[:] ["Saraksta vienums 1", 2, 3.1400000000000001] >>> drukāt mylist ["Saraksta vienums 1", 2] > >> print mylist[-3:-1] ["Saraksta vienums 1", 2] >>> print mylist # Pievienojot trešo parametru, "solis" Python solis būs # N vienuma soli, nevis 1. # Piemēram. , tiks atgriezts pirmais vienums, pēc tam pārejiet uz trešo un # atgriezīs šo vienumu (tātad, 0. un 2. vienums 0 indeksācijā). >>> drukāt mylist[::2] ["Saraksta vienums 1", 3.14]

Stīgas Python

Virknes apzīmēšanai var izmantot apostrofu (‘) vai dubultpēdiņas (dubultpēdiņas — “). Tādēļ virknē var būt pēdiņas, kas apzīmētas ar apostrofiem (piem., “Viņš teica “sveiki.”) ir derīga virkne.

Vairāku rindu virknes tiek apzīmētas, izmantojot trīskāršu apostrofu vai pēdiņas ("""). Python atbalsta unikoda izņemšanu. Tomēr otrajā Python versijā tiek izmantota rakstzīme (u), lai apzīmētu virkni, kas satur unikodu: u"Tas ir unikoda virkne". Python3 visas virknes ir unikoda Ja programmā Python3 vēlaties baitu secību, kas būtībā bija virkne iepriekšējās versijās, izmantojiet rakstzīmi (b): b"Šī ir baitu virkne".

Operators (%) un kortežs tiek izmantoti, lai parametru vērtības aizstātu virknē. Katrs %s tiek aizstāts ar elementu no kortedža, no kreisās puses uz labo. Varat arī izmantot vārdnīcu, lai aizstātu nosauktos parametrus:

>>>drukāt "Nosaukums: %s\ Skaitlis: %s\ Virkne: %s" % (mana klase.nosaukums, 3, 3 * "-") Nosaukums: Poromenos numurs: 3 Virkne: --- string = """ Šī ir vairāku rindu virkne.""" # BRĪDINĀJUMS. Uzmanieties, vai "%(key)s" nav beigu s. >>> izdrukāt "Šis %(darbības vārds)s a %(lietvārds)s." % ("lietvārds": "pārbaude", "darbības vārds": "ir") Šis ir tests.

Plūsmas kontroles instrukcijas – ja, uz laiku

Paziņojumi if , for un while tiek izmantoti, lai kontrolētu programmas izpildes secību. Programmā Python nav slēdža vai korpusa, ja tā vietā tiek izmantots. For tiek izmantots, lai atkārtotu saraksta (vai kortedža) elementus. Lai iegūtu skaitļu secību, izmantojiet diapazonu ( ) . Pārtraukums tiek izmantots, lai pārtrauktu cilpas izpildi.

Šīs konstrukcijas sintakse ir šāda:

Rangelist = diapazons(10) >>> drukāt diapazonu sarakstu numuram diapazonu sarakstā: # Pārbaudiet, vai numurs ir viens no # skaitļiem korejā. ja skaitlis (3, 4, 7, 9): # "Pārtraukums" izbeidz for bez # izpildes "else" klauzulu. break else: # "Turpināt" sāk nākamo cilpas # iterāciju. Tas šeit ir diezgan bezjēdzīgi, # jo tas ir pēdējais cilpas paziņojums. turpināt citu: # Klauzula "else" nav obligāta un # tiek izpildīta tikai tad, ja cilpa nav "pārtraukta". pass # Nedarīt neko, ja rangelist == 2: print "Otrais vienums (saraksti ir 0 pamatā) ir 2 " elif rangelist == 3: drukāt "Otrais vienums (saraksti ir balstīti uz 0) ir 3" else: drukāt "Nezinu", kamēr rangelist == 1: iziet

Funkcijas Python

Funkcijas tiek deklarētas, izmantojot atslēgvārdu "def". Izvēles argumenti seko obligātajiem argumentiem funkcijas deklarācijā, un tiem tiek piešķirta noklusējuma vērtība. Izsaucot funkciju, varat nodot argumentus, norādot to nosaukumu un vērtību, vienlaikus izlaižot dažus izvēles argumentus vai ievietojot tos secībā, kas atšķiras no funkcijā deklarētās.

Funkcijas var atgriezt virkni, un, izmantojot kortedža izpakošanu, varat atgriezt vairākas vērtības.

Lambda funkcijas ir īpašas funkcijas, kas apstrādā vienu argumentu.

Parametri tiek nodoti, izmantojot saiti. Pievienojot elementus nokārtotajam sarakstam, jūs saņemsiet atjauninātu sarakstu ārpus funkcijas. Šajā gadījumā jaunas vērtības piešķiršana parametriem funkcijas iekšienē paliks lokāla darbība. Tā kā tiek nodota tikai atmiņas vieta, jauna objekta piešķiršana parametram kā mainīgais radīs jaunu objektu.

Koda piemēri:

# Tāds pats kā def funcvar(x): return x + 1 funcvar = lambda x: x + 1 >>> print funcvar(1) 2 # an_int un a_string ir neobligāti, tiem ir noklusējuma vērtības #, ja viena netiek nodota ( 2 un "Noklusējuma virkne"). def passing_example(a_list, an_int=2, a_string="Noklusējuma virkne"): a_list.append("Jauns vienums") an_int = 4 atgriež a_list, an_int, a_string >>> my_list = >>> my_int = 10 >> > drukāt passing_example(my_list, my_int) (, 4, "Noklusējuma virkne") >>> my_list >>> my_int 10

Python nodarbības

Python atbalsta ierobežotu vairāku veidu mantojuma veidu klasēs.

Privātos mainīgos un metodes var deklarēt (pēc vienošanās, tulks to nepārbauda), izmantojot divas pasvītras nosaukuma sākumā un ne vairāk kā vienu nosaukuma beigās (piemēram, "__spam").

Mēs varam arī piešķirt patvaļīgus nosaukumus klases gadījumiem. Skatīt piemērus:

Klase MyClass(objekts): kopīgs = 10 def __init__(self): self.mymainable = 3 def myfunction(self, arg1, arg2): return self.myvariable # Šī ir klases instancija >>> classinstance = MyClass() >> > classinstance.myfunction(1, 2) 3 # Šis mainīgais ir kopīgs visām klasēm. >>> classinstance2 = MyClass() >>> classinstance.common 10 >>> classinstance2.common 10 # Ņemiet vērā, kā mēs izmantojam klases nosaukumu #, nevis instances. >>> MyClass.common = 30 >>> classinstance.common 30 >>> classinstance2.common 30 # Tas neatjauninās klases mainīgo, # tā vietā tas saistīs jaunu objektu ar veco # mainīgā nosaukumu. >>> classinstance.common = 10 >>> classinstance.common 10 >>> classinstance2.common 30 >>> MyClass.common = 50 # Tas nav mainījies, jo "common" tagad ir # instances mainīgais. >>> classinstance.common 10 >>> classinstance2.common 50 # Šī klase ir mantota no MyClass. Iepriekš minētā klase # tiek mantota no "objekta", kas # padara to par "jauna stila klasi". # Vairāku mantojumu deklarē šādi: # class OtherClass(MyClass1, MyClass2, MyClassN) class OtherClass(MyClass): # Arguments "self" tiek nodots automātiski # un attiecas uz klases gadījumu, lai jūs varētu iestatīt # instances mainīgos, kā norādīts iepriekš, bet no class.def iekšpuses __init__(self, arg1): self.myvariable = 3 print arg1 >> > classinstance = OtherClass("sveiki") sveiki >>> classinstance.myfunction(1, 2) 3 # Šai klasei nav .test dalībnieka, bet # mēs to varam pievienot instancei. Ņemiet vērā, ka tas būs tikai klases instances dalībnieks. >>> classinstance.test = 10 >>> classinstance.test 10

Izņēmumi Python

Python izņēmumi tiek apstrādāti try-izņemot blokos:

Def some_function(): try: # Dalīšana ar nulli rada izņēmumu 10/0, izņemot ZeroDivisionError: print "Hmm, nederīgs." cits: # Izņēmums nenotika, mēs esam labi. iziet beidzot: # Tas tiek izpildīts pēc tam, kad koda bloks ir palaists # un visi izņēmumi ir apstrādāti, pat # ja apstrādes laikā tiek izvirzīts jauns izņēmums. drukāt "Mēs esam pabeiguši ar to." >>> some_function() Hmm, nederīgs. Mēs ar to pabeidzām.

Moduļu importēšana programmā Python

Ārējās bibliotēkas tiek izmantotas pēc importēšanas, izmantojot importēšanas atslēgvārdu. Varat arī izmantot no importēšanas, lai importētu atsevišķas funkcijas.

Importēt izlases veidā no laika importēšanas pulkstenis randomint = random.randint(1, 100) >>> drukāt randomint 64

Darbs ar failiem programmā Python

Python ir liels skaits bibliotēku darbam ar failiem. Piemēram, serializācija (datu pārvēršana virknēs, izmantojot marinēšanas bibliotēku):

Importēt pickle mylist = ["Šis", "ir", 4, 13327] # Atveriet failu C:\\binary.dat rakstīšanai. Burts r pirms # faila nosaukuma virknes tiek izmantots, lai novērstu slīpsvītras atkāpšanos. mans fails = open(r"C:\\binary.dat", "w") pickle.dump(mans saraksts, mans fails) mans fails.close() mans fails = open(r"C:\\text.txt", "w" ) myfile.write("Šī ir virknes paraugs") myfile.close() myfile = open(r"C:\\text.txt") >>> print myfile.read() "Šī ir virknes paraugs" mans fails .close() # Atveriet failu lasīšanai. mans fails = open(r"C:\\binary.dat") loadedlist = pickle.load(mans fails) myfile.close() >>> drukāt ielādēto sarakstu ["Šis", "ir", 4, 13327]

Dažādi

  • Nosacījumi var salipt, piemēram, 1< a < 3 проверит, что a одновременно меньше 3 и больше 1.
  • Varat izmantot del, lai noņemtu mainīgos vai elementus masīvos.
  • Saraksti nodrošina ļoti jaudīgas datu manipulācijas iespējas. Varat izveidot izteiksmi, izmantojot for, kam seko if vai priekšrakstiem:
>>> lst1 = >>> lst2 = >>> drukāt >>> drukāt # Pārbaudiet, vai nosacījums ir patiess kādam vienumam. # "jebkurš" atgriež patiesu, ja kāds no saraksta vienumiem ir patiess. >>> any(]) True # Tas ir tāpēc, ka 4 % 3 = 1 un 1 ir patiess, tāpēc any() # atgriež True. # Pārbaudiet, cik vienumu nosacījums ir patiess. >>> summa(1 priekš i in if i == 4) 2 >>> del lst1 >>> print lst1 >>> del lst1
  • Globālie mainīgie tiek deklarēti ārpus funkcijām un tos var nolasīt bez īpašām deklarācijām iekšā, taču, ja vēlaties tos izrakstīt, jums ir jādeklarē no funkcijas sākuma, izmantojot īpašo "globālo" atslēgvārdu, pretējā gadījumā Python piešķirs jaunu vērtību. uz vietējo mainīgo:
skaitlis = 5 def myfunc(): # Tas izdrukās 5. drukāšanas numuru def otherfunc(): # Tas rada izņēmumu, jo mainīgais pirms drukāšanas # nav bijis saistīts. Python zina, ka tas # objekts tiks tam piesaistīts vēlāk, un izveido jaunu lokālu # objektu, nevis piekļūst globālajam. drukāt numura numuru = 3 def yetanotherfunc(): globālais numurs # Tas pareizi mainīs globālo. skaitlis = 3

Kā iemācīties Python programmēšanas valodu

Šis materiāls nepretendē uz visaptverošu Python ceļvedi. Python programmēšanas valodai ir milzīgs skaits bibliotēku un dažādas funkcionalitātes, kuras iepazīsiet, turpinot strādāt ar valodu un izpētot papildu avotus.

Ja iepriekš minētā informācija jums nav pietiekama - apskatiet paplašināto Python programmēšanas valodu aprakstošo materiālu - - tas sniedz informāciju par valodu sīkāk.

Starp citiem materiāliem es iesaku Learn Python The Hard Way. Un, protams, Python 2 apmācība un Python 3 apmācība.

Liels paldies Stavrosam Korokithakis par viņa lielisko apmācību "Apgūt Python 10 minūtēs".

Ja vēlaties kaut ko uzlabot šajā materiālā - lūdzu, rakstiet komentāros.

Valodas sintakse Python daudzējādā ziņā līdzīga valodu, piemēram, Perl, C un Java, sintaksei, taču tajā pašā laikā tai ir vairākas atšķirības no šīm programmēšanas valodām. Šajā rakstā mēs apskatīsim nepieciešamo pamatišis programmēšanas valoda.

Pirmā Python programma:

Pirmkārt, jāatzīmē, ka uz Python Jūs varat programmēt divos režīmos: interaktīvs un skripts

Interaktīvais programmēšanas režīms:

Nenododot faila nosaukumu kā argumentu, tas tiks palaists Python tulks:

Pēc uzvednes rindas ievadiet šādu tekstu Python un nospiediet Enter:

>>> izdrukāt "Sveiks, Python!"

Ja visu izdarījāt pareizi, tulks izdos rindu:

Ja tiek parādīta kļūda, pārliecinieties, vai esat pareizi pārrakstījis kodu un vai izmantojat 2.x tulku (versijai 3.x, izmantojiet komandu print ("Sveiki, Python"))

Skriptu programmēšanas režīms:

Palaist python komandrindā ar faila nosaukumu (to sauc arī par skriptu) kā parametru, sāks izpildīt šajā failā ierakstīto kodu. Kad skripta izpilde ir pabeigta, tulks atkal būs neaktīvs.

Izveidosim vienkāršu skriptu programmu Python. Atveriet jebkuru teksta redaktoru (Sublime, Notepad++, gedit...), izveidojiet tajā failu ar nosaukuma testu un paplašinājumu .py (visi faili satur kodu Python jābūt pagarinājumam .py) un ierakstiet mums jau zināmo kodu šajā failā un saglabājiet failu:

Drukāt "Sveiks, Python!"

(Tiek pieņemts, ka Python tulks jums tas ir iestatīts mainīgajā PATH, tas ir, jūs varat ievadīt python jebkurā direktorijā, lai palaistu tulku)

Pēc tam komandu uzvednē ievadiet šo rindiņu un nospiediet taustiņu Enter:

Python identifikatori:

Identifikatori Python ir nosaukumi, ko izmanto, lai atsauktos uz mainīgo, funkciju, klasi, moduli vai citu objektu. Identifikatoram jāsākas ar burtu (no a līdz Z) vai pasvītrojumu (_), kam seko jebkurš burtu, pasvītru un ciparu skaits (no 0 līdz 9).

AT Python pieturzīmes vai īpašās rakstzīmes, piemēram, @, $ vai %, nav atļautas kā identifikatori. Turklāt, Python reģistrjutīgs, tas ir kaķis un kaķis tie ir divi dažādi nosaukumi.

Python ir šāda identifikatoru nosaukumu piešķiršanas metode:

  • Klašu nosaukumi sākas ar lielo burtu, visi pārējie identifikatori sākas ar mazo burtu.
  • Pasvītras izmantošana kā identifikatora pirmā rakstzīme nozīmē, ka dotais identifikators ir privāts (aizsargāts no izmantošanas ārpus klases).
  • Ja identifikators sākas un beidzas ar divām pasvītrām (piemēram, __init__), tas nozīmē, ka tas ir valodā definēts īpašs nosaukums.

Rezervētie (atslēgvārdu) vārdi Python:

Šajā tabulā ir viss Python atslēgvārdi.

un elifs ja drukāt
cits imports paaugstināt
apgalvot izņemot iekšā atgriezties
pārtraukums izpild ir pamēģini
klasē beidzot lambda kamēr
Turpināt priekš kuras
def no vai raža
del globāli caurlaide

Šos rezervētos vārdus nevar izmantot kā mainīgā nosaukumu vai jebkuru citu identifikatoru. Visi Python atslēgvārdi sastāv tikai no mazajiem burtiem. Atslēgvārdu sarakstu ir iespējams iegūt tulkā ar komandu

Palīdzība ("atslēgvārdi")

Līnijas un atkāpes:

Viena no pirmajām iezīmēm Python Programmētāju uzmanību piesaista tas, ka tajā netiek izmantotas iekavas, lai apzīmētu atsevišķus koda blokus. Viņu vietā Python tiek izmantoti koli un atkāpe.

Atstarpju skaits atkāpēs ir patvaļīgs un to izvēlas katrs pēc saviem ieskatiem, tomēr pēc vienošanās tas ir vienāds ar četrām atstarpēm. Šajā gadījumā visa bloka atkāpei jābūt vienādai.

Piemēram, šis koda bloks darbosies (lai gan jums nevajadzētu to rakstīt šādi):

Ja taisnība: drukāt "Sveiki" citādi: drukāt "Bye"

Tas radīs kļūdu:

Ja taisnība: drukāt "Hi" drukāt "Bye"

Tādējādi iekšā Python vairākas koda rindas ar vienādu atkāpi veidos atsevišķu koda bloku. Pateicoties šādai sistēmai, koda lasāmība ir ievērojami palielināta, un ieradums rakstīt ir skaidri un strukturēts.

Daudzrindu izteiksmes:

Izteiksmes Python parasti beidzas ar jaunu rindiņu. Tomēr šajā programmēšanas valodā ir īpaša rindas pārtraukuma rakstzīme (\), kas norāda, ka kods nebeidzas ar rindas beigām. Piemēram:

Kopā = item1 + \item2 + \item3

Izteiksmēm, kas atrodas kvadrātiekavās ((), cirtainajās iekavās (( )) vai apaļajās iekavās (()), rindiņas pārtraukuma rakstzīme nav nepieciešama. Piemēram:

Dienas = ["svētdiena", "pirmdiena", "otrdiena", "trešdiena", "ceturtdiena", "piektdiena", "sestdiena"]

Citāti Python valodā:

AT Python Lai apzīmētu virknes datu tipu, varat izmantot vienas ("), dubultās ("") un trīskāršās (""" vai "") pēdiņas, un virknei jāsākas un jābeidzas ar tām pašām pēdiņām. Virkne, kas aptver vairākas koda rindiņas, ir jāiekļauj trīskāršās pēdiņās. Piemēram:

Nosaukums = "wasd" apraksts = "Daži teksts" biogrāfija = """ Daži garš teksts dažām koda rindiņām """

Vai jums ir jautājumi?

Ziņot par drukas kļūdu

Teksts, kas jānosūta mūsu redaktoriem: