Lihtne keel python 3 programmeerimise kohta. Pythoni programmeerimiskeel algajatele. Voolu juhtimise juhised – kui, ajaks, ajaks

Paarkümmend aastat tagasi tundusid programmeerijad olevat mingid šamaanid, kes teadsid, mis teistele kättesaamatu ei olnud. Mõnikord õppisid inimesed programmeerimist põlvili, paberile koodi kirjutades, sest "arvutiseadmete kontsentratsioon elaniku kohta" oli äärmiselt madal. Nüüd on raske leida inimest, kellel poleks kodus laua- või sülearvutit. Ka haridustehnoloogiad ei seisa paigal.

Natuke ajalugu

Pythoni programmeerimiskeele töötas välja Guido van Rossum kaheksakümnendate lõpus. Guido oli sel ajal Hollandi CWI Instituudi töötaja. Ta kirjutas seda keelt vabal ajal, pannes sinna mõned ideed ABC-keele kohta, millele ta kaasa aitas.

Seda keelt ei nimetatud roomaja auks. Nime idee oli tegelikult seitsmekümnendate populaarne Briti komöödiasaade "Monty Pythoni lendav tsirkus", kuigi Pythonit võrreldakse siiski palju sagedamini maoga, kuna isegi ametlikul veebisaidil olev embleem (see näitab kahte madu pead) näitab.

Pythoni programmeerimiskeele populaarsuse põhjuseks ei peeta ainult van Rossumi disainiintuitsiooni. Sõbraliku kasutajakogukonna olemasolu tõttu muutub nullist õppimine meeldivaks ja lihtsaks kogemuseks.

Mitte väga kaua aega tagasi, 2008. aastal, ilmus Python 3000 (3.0) esimene versioon, mida oli pikka aega testitud, kus paljud arhitektuurilised vead kõrvaldati. Samal ajal püüdsid arendajad säilitada ühilduvust keele varasemate versioonidega. Kuigi on olemas uuem versioon, toetatakse mõlemat haru (2.x ja 3.x).

Lühike programmeerimiskeel

Pythonil on teiste keelte ees mitmeid eeliseid. See on arusaadav peaaegu intuitiivselt, sellel on "läbipaistev" süntaks. See tähendab, et selles keeles programmikoodi on palju lihtsam lugeda, mis vähendab mitte ainult selle kirjutamise, vaid ka erinevate paranduste ja kontrollide jaoks kuluvat aega.

Muidugi ütleb "vana kooli" programmeerija, et peate kindlasti oskama mitut keelt või võite alustada isegi masinkoodi õppimisest. Kuid pärast Pythoni keele programmeerimiskursuse läbimist ei saa inimene mitte ainult spetsiifilisi teadmisi, vaid ka võimaluse realiseerida oma loomingulist olemust, luues enda jaoks kasulikke rakendusi ja programme. Võib-olla on peagi programmeerimine sama vajalik kui võõrkeele oskus.

Eneses kahtlemine

Tasub kõrvale heita eksiarvamus, et programmeerimine on raske. Ei, programmeerimine on palju huvitavam, kui välja paistab; segada võivad muud tegevused ja nn "ajapuudus" ehk laiskus.

Põhikirjandus aitab kiiresti Pythoni keeles programmeerimist õppida. Koolitus peaks algama kahe raamatu lugemisega, millest saate põhitõdesid õppida. Esimene neist on Mark Lutzi "Python Programming" ja teine ​​Mark Summerfieldi "Python 3 programmeerimine". Lutzi raamat kirjeldab üksikasjalikult, mõnikord isegi liiga palju, kõiki põhiprintsiipe, millele keel on üles ehitatud. Mõned soovitavad Mark Lutzi lugeda mitte valdamiseks, vaid põhiteadmiste süvendamiseks. Summerfieldi raamat selgitab kõike kokkuvõtlikumalt, autor ei hirmuta lugejat ühegi raskusega. On ka muud kirjandust, kuid need õpikud on kõige kasulikumad ja informatiivsemad.

sissejuhatav kursus

Mõelgem tagasi põhikoolile. Reeglina tuleb isegi laps esimesse klassi mingite minimaalsete teadmistega: vanemad õppisid kellegagi koos, keegi läks "nulli". Sama kehtib ka Pythoni programmeerimiskeele õppimise kohta. See on tõesti mugav ja "läbipaistev", kuid ilma minimaalsete teadmisteta programmide põhiprintsiipidest on koolitus keeruline. See on nagu muusika õppimine ilma muusikat kuulmata. Seega need, kes pole programmeerimisega üldse kokku puutunud, peaksid end kurssi viima "sissejuhatava miinimumiga".

Kasulikuks abiks on CS50 loengud. See on Harvardi ülikooli kursus Java Scripti programmeerimisest, kuid esimestes loengutes selgitatakse arvuti ja programmide vahelist koostoimet üldiselt ligipääsetaval ja arusaadaval viisil. Vene keelt kõneleval kasutajal on juurdepääs selle kursuse videosalvestistele koos tõlkega, lisamaterjalidega, loengute tekstiversioonidega ja praktiliste ülesannetega. Videod leiate peaaegu kõikjalt, näiteks YouTube'ist, kuid kogu sisu on Java Scripti saidil.

Internetis

Programmeerimiskeel Python on kogumas populaarsust, mistõttu on pikka aega olnud mitmeid portaale, kus on palju iseõppimismaterjale. Näiteks "Python 3 algajatele". Sellel saidil on palju materjale algajatele, seda saab kasutada petulehena. Codecademy veebisaidil on sellel teemal ka suur hulk tasuta juurdepääsuga teavet.

Foorumi suhtlus on oluline. Üksi õppimine on alati raskem, seega ärge jätke tähelepanuta erinevaid kogukondi.

Tasulised kursused

Alati saab kasutada tasulisi kursusi, kuid mõnikord kulub see palju raha ja tulemus võib olla mitterahuldav. Seetõttu on loomulikult soovitav valida kursused, mis pakuvad tasuta sissejuhatavat ülesannet. Näiteks on GeekBrainsis intensiivne teemal "Python Programming Fundamentals". Tund on tasuta ja toimub iga 10 päeva tagant. Registreerimiseks peate saidile sisse logima.

Näpunäide. Ükskõik millise kursuse valite, õppige kõigepealt tundma keele põhitõdesid, et te ei raiskaks aega millelegi, mille saate ise hõlpsasti omandada. Piisab ülaltoodud raamatute lugemisest.

Muidugi, kui teooria omandatud, tahan ma harjutada. Siinkohal tuleb mainida Nick Parlante loenguid. Need on inglise keeles, kuigi üldiselt on inglise keeles palju head õppekirjandust ja see ei tohiks olla üllatav. Loengutes ei õpeta Nick mitte ainult Pythoni programmeerimiskeelt, vaid annab ka suurepäraseid praktilisi ülesandeid.

Kasutamine

Pythoni programmeerimiskeelt on kasutatud paljude rakenduste loomiseks, mida paljud inimesed igapäevaselt kasutavad. Näiteks on see BitTorrenti torrent-kliendi kuues versioon. Ka "Python" ("Pyton") on kasutusel bitmap-graafika redaktoris Gimp. Sellega luuakse näiteks lisamooduleid, filtreid. Suur osa Civilization IV-st ja Batterfield 2-st on kirjutatud selles keeles.

Pythonit kasutavad sellised ettevõtted nagu Google, Facebook, Instagram, Dropbox, Pinterest. See töötab ka rakenduse Yandex Disk tuumas. Umbes 10% ettevõtte töötajatest kirjutab Pythonis ja paljud programmeerijad nimetavad seda oma lemmikkeeleks.

Kuidas alustada

Ükski kood ei saa töötada "õhus", ka Pythoni programmeerimiskeel järgib seda reeglit. Nullist õppimine, kuigi see algab teooriast, algab tegelikult, võib öelda, töökeskkonna installimisega personaalarvutisse. Kuidas seda teha? See on lihtne: peate järgima Pythoni ametliku veebisaidi linki, laadima alla ja käivitama installiprogrammi ning seejärel järgima hoolikalt selle soovitatud samme.

Pange tähele, et peate alla laadima oma arvutisse installitud operatsioonisüsteemile sobiva faili!

Kui installimine õnnestus, avage konsool (tavaliselt saab seda teha kiirklahviga "ctrl + alt + T"). Nüüd saate kirjutada oma esimese programmi. Näiteks sisestage "python3". Kui konsool kuvas "tervituse", kus on märgitud programmi versioon (näiteks 3.4.0), siis on kõik korras, kui mitte, siis peate installima "Pythoni" kolmanda versiooni käsuga: "sudo apt-get install python3".
Seda aga ei nõuta. Koodi saate kirjutada mis tahes mugavas tekstiredaktoris ja seejärel konsooli kaudu käivitada või kasutada distributsiooniga kaasas olevat IDLE arenduskeskkonda.

Käivitage IDLE. Pisikese programmi loomiseks kulub vaid üks koodirida.

print ("Tere maailm!")

Sisestage see kood IDLE aknasse ja vajutage sisestusklahvi. Keskkond reageerib koheselt toiminguga – kuvab ekraanile vajaliku teksti. Esimene programm on valmis.

Programmeerimine Pythonis

1. osa. Keelefunktsioonid ja põhiline süntaks

Sisu seeria:

Kas tasub Pythonit õppida?

Python on üks populaarsemaid kaasaegseid programmeerimiskeeli. See sobib mitmesuguste probleemide lahendamiseks ja pakub samu funktsioone, mis teised programmeerimiskeeled: dünaamilisus, OOP-i tugi ja platvormidevaheline tugi. Pythoni väljatöötamist alustas Guido Van Rossum juba 1990. aastate keskel, nii et praeguseks on see suutnud vabaneda tavapärastest "lapsepõlvehaigustest", arendada oluliselt keele parimaid külgi ja meelitada ligi palju Pythonit kasutavaid programmeerijaid. oma projekte ellu viia.

Paljud programmeerijad arvavad, et on vaja õppida ainult "klassikalisi" programmeerimiskeeli, nagu Java või C++, kuna teised keeled ei suuda nagunii samu võimalusi pakkuda. Viimasel ajal on aga levinud arvamus, et programmeerijal on soovitav osata rohkem kui ühte keelt, kuna see avardab tema silmaringi, võimaldades loovamalt ülesandeid lahendada ja tõsta konkurentsivõimet tööturul.

Kahe keele, nagu Java ja C++, täielik õppimine on üsna keeruline ja võtaks palju aega; pealegi on nende keelte paljud aspektid üksteisega vastuolus. Samas sobib Python ideaalselt teise keele rolli, kuna on kohe omastatav tänu OOP-is juba olemasolevatele teadmistele ja sellele, et selle võimalused ei lähe vastuollu, vaid täiendavad teise programmeerimisega töötamisel saadud kogemusi. keel.

Kui programmeerija alles alustab tarkvaraarenduse alal, siis on Python ideaalne "sissejuhatav" programmeerimiskeel. Oma lakoonilisuse tõttu võimaldab see kiiresti omandada keele süntaksi ja aastate jooksul moodustunud aksioomide kujul oleva "pärandi" puudumine aitab teil kiiresti OOP-i omandada. Nende tegurite tõttu on Pythoni õppimiskõver üsna lühike ja programmeerija saab liikuda juhtumiuuringutelt kommertsprojektide juurde.

Seega, olenemata sellest, kas selle artikli lugeja on kogenud programmeerija või tarkvaraarenduse vallas algaja, peaks selle jaotise pealkirjaks olevale küsimusele olema kindel jah.

See artiklisari on loodud selleks, et aidata teil õppimiskõverast edukalt üle saada, pakkudes pidevalt teavet keele kõige põhiprintsiipidest kuni selle muude tehnoloogiatega integreerimise täiustatud võimalusteni. Esimeses artiklis räägime Pythoni põhifunktsioonidest ja süntaksist. Tulevikus vaatleme selle populaarse keelega töötamise keerukamaid aspekte, eriti Pythonis objektorienteeritud programmeerimist.

Pythoni arhitektuur

Iga keel, olgu programmeerimiseks või suhtlemiseks, koosneb vähemalt kahest osast – sõnavarast ja süntaksist. Pythoni keel on korraldatud samal viisil, pakkudes süntaksi käivitatavaid programme moodustavate avaldiste genereerimiseks ja sõnastikku, funktsioonide komplekti standardse teegi ja pistikprogrammide kujul.

Nagu juba mainitud, on Pythoni süntaks üsna sisutihe, eriti kui võrrelda Java või C++-ga. Ühest küljest on see hea, sest mida lihtsam on süntaks, seda lihtsam on seda õppida ja seda vähem vigu saab selle kasutamise käigus teha. Sellistel keeltel on aga puudus - neid saab kasutada kõige lihtsama teabe edastamiseks ja need ei suuda väljendada keerulisi struktuure.

See ei kehti Pythoni kohta, kuna see on lihtne, kuid lihtsustatud keel. Fakt on see, et Python on keel, mille abstraktsioonitase on kõrgem, näiteks kõrgem kui Java ja C ++, ning võimaldab edastada sama palju teavet väiksemas koguses lähtekoodis.

Lisaks on Python üldkasutatav keel, nii et seda saab kasutada peaaegu igas tarkvaraarenduse valdkonnas (eraldi, klient-server, veebirakendused) ja mis tahes teemavaldkonnas. Lisaks integreerub Python hõlpsasti olemasolevate komponentidega, mis võimaldab Pythonit juba kirjutatud rakendustesse manustada.

Teine osa Pythoni edust on selle laiendusmoodulid, nii standardsed kui ka spetsiifilised. Standardsed Pythoni laiendusmoodulid on hästi läbimõeldud ja end tõestanud funktsionaalsus igas tarkvaraarendusprojektis tekkivate probleemide lahendamiseks, stringi- ja tekstitöötluseks, operatsioonisüsteemiga suhtlemiseks, veebirakenduste toeks. Need moodulid on kirjutatud ka Pythonis, seega on neil kõige olulisem omadus – platvormideülene, mis võimaldab projekte kiiresti ja valutult ühest operatsioonisüsteemist teise üle kanda.

Kui vajalikku funktsionaalsust standardses Pythoni teegis ei ole, saate luua oma laiendusmooduli selle hilisemaks korduvaks kasutamiseks. Siinkohal tasub märkida, et Pythoni laiendusmooduleid saab luua mitte ainult Pythonis endas, vaid ka teisi programmeerimiskeeli kasutades. Sel juhul saab ressursimahukaid ülesandeid, näiteks keerukaid teaduslikke arvutusi, tõhusamalt realiseerida, kuid platvormidevahelise eelise kaob ära, kui laiendusmooduli keel pole ise platvormideülene, nagu Python.

Pythoni käitusaeg

Nagu teate, on kõik platvormidevahelised programmeerimiskeeled üles ehitatud sama mudeli järgi: see on tõeliselt kaasaskantav lähtekood ja käituskeskkond, mis pole kaasaskantav ja on igale konkreetsele platvormile omane. See käitusaeg sisaldab tavaliselt interpretaatorit, mis käivitab lähtekoodi ja erinevaid rakenduse hooldamiseks vajalikke utiliite – silurit, pöördkoostajat jne.

Java Runtime Environment sisaldab lisaks kompilaatorit, kuna lähtekood tuleb Java virtuaalmasina jaoks baitkoodiks kompileerida. Pythoni käitusaeg sisaldab ainult interpretaatorit, mis on ühtlasi ka kompilaator, kuid kompileerib Pythoni lähtekoodi otse sihtplatvormi natiivsesse koodi.

Pythoni jaoks on praegu kolm tuntud käitusaegset rakendust: CPython, Jython ja Python.NET. Nagu nimigi ütleb, on esimene keskkond C-s, teine ​​Java-s ja viimane .NET-is.

CPythoni käitusaega nimetatakse tavaliselt lihtsalt Pythoniks ja kui inimesed räägivad Pythonist, viidatakse kõige sagedamini sellele teostusele. See teostus koosneb C-keeles kirjutatud interpretaatorist ja laiendusmoodulitest ning seda saab kasutada mis tahes platvormil, mille jaoks on saadaval standardne C-kompilaator. Lisaks on juba erinevate operatsioonisüsteemide jaoks olemas käitusaja kompileeritud versioonid, sealhulgas erinevad OC Windowsi versioonid ja erinevad distributsioonid.linux. Selles ja järgmistes artiklites käsitletakse CPythonit, kui ei ole eraldi märgitud teisiti.

Jythoni käitusaeg on Pythoni rakendus Java virtuaalmasinaga (JVM) töötamiseks. Toetatakse kõiki JVM-i versioone, alates versioonist 1.2.2 (praegune Java versioon on 1.6). Jython nõuab installitud Java masinat (Java käituskeskkond) ja mõningaid Java programmeerimiskeele tundmist. Te ei pea teadma, kuidas Java lähtekoodi kirjutada, kuid peate olema kursis JAR-failide ja Java-aplettidega, samuti JavaDOC-vormingus dokumentatsiooniga.

Millist keskkonna versiooni valida, sõltub ainult programmeerija eelistustest, üldiselt on soovitatav hoida arvutis nii CPython kui ka Jython, kuna need ei lähe üksteisega vastuollu, vaid täiendavad üksteist. CPythoni keskkond on kiirem, kuna puudub JVM-i kujul olev vahekiht; lisaks avaldatakse Pythoni uuendatud versioonid esmalt CPythoni keskkonnana. Kuid Jython saab laiendusmoodulina kasutada mis tahes Java klassi ja töötada mis tahes platvormil, mille jaoks on JVM-i juurutus olemas.

Mõlemad käitusajad on välja antud tuntud GPL-iga ühilduva litsentsi alusel, nii et neid saab kasutada nii kommertstarkvara kui ka tasuta/tasuta tarkvara arendamiseks. Enamik Pythoni laiendusmooduleid on samuti välja antud GPL-litsentsi all ja neid saab vabalt kasutada igas projektis, kuid on ka kaubanduslikke laiendusi või rangemate litsentsidega laiendusi. Seetõttu peate Pythonit kommertsprojektis kasutades teadma, millised piirangud on laienduse pistikprogrammide litsentsides.

Pythoni kasutamise alustamine

Enne Pythoni kasutamise alustamist peate installima selle käituskeskkonna - selles artiklis on see CPython ja vastavalt ka pythoni tõlk. Installimismeetodeid on erinevaid: edasijõudnud kasutajad saavad Pythoni ise kompileerida selle avalikust lähtekoodist, samuti saate veebisaidilt www.python.org alla laadida valmis käivitatavaid faile konkreetse operatsioonisüsteemi jaoks ja lõpuks on paljudel Linuxi distributsioonidel kaasas Pythoni tõlk on juba eelinstallitud. See artikkel kasutab Python 2.x Windowsi versiooni, kuid esitatud näiteid saab käitada mis tahes Pythoni versioonis.

Pärast seda, kui installija on Pythoni käivitatavad failid määratud kataloogi juurutanud, peate kontrollima järgmiste süsteemimuutujate väärtusi:

  • PATH. See muutuja peab sisaldama teed kataloogi, kuhu Python on installitud, et operatsioonisüsteem leiaks selle üles.
  • PYTHONHOME. See muutuja peaks sisaldama ainult teed kataloogi, kuhu Python on installitud. See kataloog peaks sisaldama ka alamkataloogi lib, kust otsitakse standardseid Pythoni mooduleid.
  • PYTHONPATH. Muutuja kataloogide loendiga, mis sisaldavad Pythoniga ühendatavaid laiendusmooduleid (loendi elemendid tuleb eraldada süsteemi eraldajaga).
  • PYTHONSTARTUP . Valikuline muutuja, mis määrab Pythoni skripti tee, mis tuleks käivitada iga kord, kui käivitatakse interaktiivne Pythoni tõlgi seanss.

Tõlgiga töötamise käsureal on järgmine struktuur.

PYTHONHOME\python (suvandid) [ -c käsk | skriptifail | - ] (argumendid)

Pythoni interaktiivne režiim

Kui käivitate tõlgi käsku või skriptifaili määramata, töötab see interaktiivses režiimis. Selles režiimis käivitatakse spetsiaalne Pythoni kest, kuhu saab sisestada üksikuid käske või avaldisi ning nende väärtus arvutatakse kohe välja. See on Pythoni õppimisel väga mugav, kuna saate kohe kontrollida konkreetse konstruktsiooni õigsust.

Hinnatud avaldise väärtus salvestatakse spetsiaalsesse muutujasse nimega Single Underscore (_), et seda saaks kasutada järgmistes avaldistes. Interaktiivse seansi saate lõpetada, vajutades Windowsis Ctrl-Z või Linuxis Ctrl-D.

Valikud on valikulised stringiväärtused, mis võivad muuta tõlgi käitumist seansi ajal; nende tähtsust käsitletakse selles ja järgmistes artiklites. Suvanditele järgneb kas üks käsk, mille tõlk peaks täitma, või tee failini, mis sisaldab käivitatavat skripti. Väärib märkimist, et käsk võib koosneda mitmest semikooloniga eraldatud avaldisest ja see peab olema jutumärkides, et operatsioonisüsteem saaks selle tõlgendajale õigesti edastada. Argumendid on need parameetrid, mis edastatakse käivitatavale skriptile edasiseks töötlemiseks; need edastatakse programmi stringidena ja eraldatakse tühikutega.

Saate käivitada järgmised käsud, et kontrollida, kas Python on õigesti installitud ja töötab:

c:\>python-v
c:\> python –c “impordi aeg; print time.asctime()”

Valik -v kuvab kasutatava Pythoni juurutuse versiooni ja väljub, teine ​​käsk aga prindib ekraanile süsteemi aja väärtuse.

Pythoni skripte saate kirjutada mis tahes tekstiredaktoris, kuna need on lihttekstifailid, kuid Pythoniga töötamiseks on loodud spetsiaalsed arenduskeskkonnad.

Pythoni süntaksi põhitõed

Pythoni lähtekoodi skriptid koosnevad nn loogilised stringid, millest igaüks omakorda koosneb füüsilised stringid. Sümbolit # kasutatakse kommentaaride tähistamiseks. Tõlk ignoreerib kommentaare ja tühje ridu.

Järgnev on väga oluline aspekt, mis võib Pythonit teise programmeerimiskeelena õppivatele programmeerijatele kummaline tunduda. Asi on selles, et Pythonis pole ühtegi sümbolit, mis vastutaks lähtekoodis avaldiste üksteisest eraldamise eest, nagu näiteks semikoolon (;) C++ või Java puhul. Semikoolon võimaldab eraldada mitu käsku, kui need asuvad samal füüsilisel real. Puudub ka selline konstruktsioon nagu lokkis sulud (), mis võimaldab ühendada juhiste rühma üheks plokiks.

Füüsilisi stringe eraldab realõpu märk ise, kuid kui avaldis on ühe stringi jaoks liiga pikk, saab need kaks füüsilist stringi ühendada üheks loogiliseks. Selleks peate esimese rea lõppu sisestama kaldkriipsu (\) ja seejärel tõlgendab tõlk järgmist rida esimese jätkuna, kuid teistel märkidel on võimatu seda teha. olema esimesel real pärast märki \, näiteks kommentaar koos #-ga. Treppimist kasutatakse koodiplokkide esiletõstmiseks. Sama taandega loogilised jooned moodustavad ploki ja plokk lõpeb, kui ilmub väiksema taandega loogiline joon. Seetõttu ei tohiks Pythoni skripti esimene rida olla taandega. Nende lihtsate reeglite valdamine aitab teil vältida enamikku uue keele õppimisega seotud vigu.

Pythoni süntaksis pole muid radikaalseid erinevusi teistest programmeerimiskeeltest. Seal on standardne komplekt operaatoreid ja märksõnu, millest enamik on programmeerijatele juba tuttavad, kuid Pythonispetsiifilisi käsitletakse selles ja järgmistes artiklites. Kasutatakse ka muutujate, meetodite ja klasside identifikaatorite määramise standardreegleid - nimi peab algama alakriipsuga või ladina tähega ja ei tohi sisaldada @, $, %. Samuti ei saa identifikaatorina kasutada ainult ühte alljoont (interaktiivse režiimi kohta vt allmärkust).

Pythonis kasutatavad andmetüübid

Pythonis kasutatavad andmetüübid on samuti samad, mis teistes keeltes - täisarvud ja reaalsed andmetüübid; lisaks toetatakse keerulist andmetüüpi - reaal- ja imaginaarse osaga (sellise arvu näide on 1,5J või 2j, kus J on -1 ruutjuur). Python toetab stringe, mida saab ümbritseda ühe-, kahe- või kolmekordsete jutumärkidega, samas kui stringid, nagu Java puhul, on muutumatud objektid, s.t. ei saa pärast loomist nende väärtust muuta.

Pythonis on ka loogiline tõeväärtuse andmetüüp, millel on kaks väärtusvalikut – True ja False. Pythoni vanematel versioonidel aga seda andmetüüpi ei olnud ja lisaks sai mis tahes andmetüübi üle kanda tõeväärtusele True või False. Kõiki nullist erinevaid numbreid ja mittetühje stringe või andmekogusid käsitleti tõena, tühje ja nullväärtusi aga väärana. See funktsioon on Pythoni uutes versioonides säilinud, kuid koodi loetavuse suurendamiseks on soovitatav boole-muutujate puhul kasutada bool-tüüpi. Samal ajal, kui teil on vaja säilitada tagasiühilduvus Pythoni vanemate rakendustega, peaksite kasutama tõeväärtuse muutujatena 1 (tõene) või 0 (false).

Funktsionaalsus andmekogudega töötamiseks

Python määratleb andmekogumite salvestamiseks kolme tüüpi kogusid:

  • tuple;
  • nimekiri (loetelu);
  • sõnastik.

Korteež on muutumatu järjestatud andmejada. See võib sisaldada erinevat tüüpi elemente, näiteks muid kortereid. Korteež on määratletud sulgudes ja selle elemendid eraldatakse komadega. Spetsiaalne sisseehitatud funktsioon tuple() võimaldab luua kortereid etteantud andmejadast.

Loend on muudetav järjestatud elementide jada. Loendi elemendid eraldatakse samuti komadega, kuid on juba seatud nurksulgudesse. Funktsiooni list() kasutatakse loendite koostamiseks.

Sõnastik on räsitabel, mis salvestab elemendi koos selle võtmeidentifikaatoriga. Hilisem juurdepääs elementidele toimub samuti võtme abil, seega on sõnastiku salvestusühikuks võtmeobjektipaar ja sellega seotud väärtusobjekt. Sõnastik on muutuv, kuid mitte järjestatud kogu, seega võib sõnastiku elementide järjekord aja jooksul muutuda. Sõnastik on määratud lokkis sulgudes, võti eraldatakse väärtusest kooloniga ja võtme/väärtuse paarid ise eraldatakse komadega. Funktsioon dict() on saadaval sõnastike loomiseks.

Loendis 1 on näited erinevatest Pythonis saadaolevatest kogudest.

Loetelu 1. Pythonis saadaolevad kogutüübid
('w','o','r','l','d') # viie elemendi korteis (2.62,) # ühe elemendi korteis ["test","mina"] # kahe elemendi loend # tühi nimekiri ( 5:'a', 6:'b', 7:'c' ) # 3-elemendiline sõnaraamat int-klahvidega

Funktsioonide määratlemine Pythonis

Kuigi Python toetab OOP-i, rakendatakse paljusid selle funktsioone eraldi funktsioonidena; lisaks tehakse laiendusmooduleid enamasti ka funktsioonide teegi kujul. Funktsioone kasutatakse ka klassides, kus neid traditsiooniliselt nimetatakse meetoditeks.

Funktsioonide määratlemise süntaks Pythonis on äärmiselt lihtne; vastavalt ülaltoodud nõuetele:

def FUNCTION_NAME(parameetrid): avaldis #1 avaldis #2 ...

Nagu näete, on vaja kasutada märksõna def, koolonit ja taanet. Funktsiooni kutsumine on samuti väga lihtne:

FUNCTION_NAME (parameetrid)

Arvestada tuleb vaid mõne Pythoni spetsiifilise asjaga. Nagu Java puhul, edastatakse primitiivsed väärtused väärtuse järgi (parameetri koopia satub funktsiooni ja see ei saa muuta väärtust, mis on seatud enne funktsiooni kutsumist) ja keerukad objektitüübid edastatakse viitega (viide edastatakse funktsioonile ja see võib objekti muuta).

Parameetreid saab edastada kas lihtsalt loendusjärjestuse või nime järgi, sel juhul ei pea helistamisel määrama neid parameetreid, mille jaoks on vaikeväärtused, vaid edastama ainult kohustuslikud või muutma helistamisel parameetrite järjekorda. funktsioon:

#täisarvude jagamist teostav funktsioon - operaatoriga // def foo(delimoe, delitel): return delimoe // delitel print divide(50,5) # töö tulemus: 10 print divide(delitel=5, delimoe=50) # tulemus töötab: 10

Pythoni funktsioon peab tagastama väärtuse, kasutades kas selgesõnaliselt tagastamislauset, millele järgneb tagastatav väärtus, või tagastamislause puudumisel tagastama funktsiooni lõppu jõudmisel konstandi None. Nagu funktsioonideklaratsiooni näidetest näha, ei pea Pythonis täpsustama, kas funktsioonilt tagastatakse midagi või mitte, aga kui funktsioonis on üks return-lause, mis tagastab väärtuse, siis teised tagastamislaused see funktsioon peab tagastama väärtused ja kui on selline väärtus ei, siis tuleb selgesõnaliselt kirjutada return None.

Kui funktsioon on väga lihtne ja koosneb ühest reast, siis saab selle defineerida otse kasutuskohas, Pythonis nimetatakse sellist konstruktsiooni lambda funktsiooniks (lambda). Lambda funktsioon on anonüümne funktsioon (ilma oma nimeta), mille keha on tagastuslause, mis tagastab mõne avaldise väärtuse. Selline lähenemine võib mõnes olukorras olla mugav, kuid tasub tähele panna, et selliste funktsioonide taaskasutamine on võimatu (“kus sa sündisid, tuli kasuks”).

Samuti tasub kirjeldada Pythoni suhtumist rekursiooni kasutusse. Vaikimisi on rekursiooni sügavus piiratud 1000 tasemega ja selle taseme läbimisel tehakse erand ja programm peatatakse. Seda limiiti saab aga vajadusel muuta.

Pythoni funktsioonidel on ka muid huvitavaid funktsioone, nagu dokumentatsioon või pesastatud funktsioonide määratlemise võimalus, kuid neid käsitletakse järgmistes artiklites seerias koos keerukamate näidetega.

O Python(parem on öelda "python", kuigi mõned ütlevad "python") - selle uuringu teema, selle programmeerimiskeele looja, hollandlane Guido van Rossum, ütleb kõige paremini:

"Python on tõlgendatud, objektorienteeritud kõrgetasemeline programmeerimiskeel, millel on dünaamiline semantika. Sisseehitatud kõrgetasemelised andmestruktuurid koos dünaamiline tippimine ja sidumine muudavad keele atraktiivseks rakenduste kiireks arendamiseks (RAD, Rapid Application Development). Lisaks saab seda kasutada skriptikeelena tarkvarakomponentide linkimiseks. Pythoni süntaksit on lihtne õppida ja see rõhutab koodi loetavust, mis vähendab tarkvaratoodete ülalpidamiskulusid. Python toetab mooduleid ja pakette, soodustades modulaarsust ja koodi taaskasutamist. Pythoni tõlk ja suur standardteek on lähte- ja käivitatava koodina tasuta saadaval kõikidele suurematele platvormidele ning neid on tasuta edasi levitada.

Õppimise käigus selgub selle definitsiooni tähendus, kuid praegu piisab teadmisest, et Python on universaalne programmeerimiskeel. Sellel on oma eelised ja puudused, samuti kasutusvaldkonnad. Pythonil on laiaulatuslik standardne raamatukogu paljude ülesannete jaoks. Kvaliteetsed Pythoni teegid on Internetis saadaval erinevates ainevaldkondades: tekstitöötlusvahendid ja Interneti-tehnoloogiad, pilditöötlus, rakenduste loomise tööriistad, andmebaasi juurdepääsu mehhanismid, teaduslikud arvutuspaketid, GUI ehitusteegid jne. Lisaks on Pythonil üsna lihtsad vahendid C, C++ (ja Java) integreerimiseks nii tõlgi manustamisel nendes keeltes programmidesse kui ka vastupidi, kasutades Pythoni programmides neis keeltes kirjutatud teeke. Pythoni keel toetab mitmeid paradigmad programmeerimine: imperatiivne (protseduuriline, struktuurne, modulaarne lähenemine), objektorienteeritud ja funktsionaalne programmeerimine.

Võib arvata, et Python on terve tarkvaratoodete (ja nende prototüüpide) loomise tehnoloogia. See on saadaval peaaegu kõigil kaasaegsetel platvormidel (nii 32-bitistel kui ka 64-bitistel) C-kompilaatoriga ja Java platvormil.

Võib tunduda, et tarkvaratööstuses pole kohta peale C/C++, Java, Visual Basic, C#. Siiski ei ole. Võib-olla on Pythonil tänu sellele loengute ja praktiliste harjutuste kursusele uusi järgijaid, kelle jaoks muutub see asendamatuks tööriistaks.

Kuidas keelt kirjeldada?

Selle loengu eesmärk ei ole Pythonit süstemaatiliselt kirjeldada: selleks on olemas originaaljuhend. Siin tehakse ettepanek käsitleda keelt üheaegselt mitmes aspektis, mis saavutatakse näidete komplektiga, mis võimaldab teil kiiresti liituda reaalse programmeerimisega kui range akadeemilise lähenemisviisi korral.

Siiski tasub tähelepanu pöörata õigele lähenemisele keele kirjeldamisel. Programmi loomine on alati suhtlus, mille käigus programmeerija edastab arvutile info, mis on vajalik viimasele toimingute tegemiseks. Seda, kuidas programmeerija neid toiminguid mõistab (st "tähendust"), võib nimetada semantika. Selle tähenduse edastamise vahendid on süntaks programmeerimiskeel. Noh, mida tõlk sooritatu põhjal teeb, seda tavaliselt nimetatakse pragmaatika. Programmi kirjutamisel on väga oluline, et selles ahelas ei esineks tõrkeid.

Süntaks on täielikult formaliseeritud osa: seda saab kirjeldada ametlik keel süntaksiskeemid (mida viitejuhendites tehakse). Pragmaatika väljendus on keeletõlk ise. Just tema loeb süntaksi järgi kirjutatud "sõnumi" ja muudab selle toiminguteks vastavalt sellesse sisseehitatud algoritmile. Ainult semantika jääb mitteformaalseks komponendiks. Programmeerimise suurim keerukus peitub tähenduse tõlkimises formaalseks kirjelduseks. Pythoni keele süntaksil on võimsad funktsioonid, mis aitavad programmeerija arusaama probleemist tõlgi "mõistmisele" lähemale tuua. Pythoni sisestruktuurist tuleb juttu ühes lõpuloengust.

Pythoni keele ajalugu

Pythoni käivitas Guido van Rossum 1991. aastal, kui ta töötas hajutatud operatsioonisüsteemi Amoeba kallal. Ta vajas laiendatavat keelt, mis pakuks süsteemikõnede tuge. Aluseks võeti ABC ja Modula-3. Ta valis Pythoni nimeks BBC komöödiasarja Monty Python's Flying Circus, mitte mao nime järgi. Sellest ajast peale on Python arenenud nende organisatsioonide toel, kus Guido on töötanud. Eriti aktiivselt täiustatakse keelt praegu, mil selle kallal ei tööta mitte ainult loojate meeskond, vaid ka terve kogukond programmeerijaid üle maailma. Ja ometi jääb viimane sõna keelearengu suuna osas Guido van Rossumile.

See materjal on mõeldud neile, kes on programmeerimisega juba tuttavad ja soovivad õppida Pythoni programmeerimiskeelt. Selle eesmärk on näidata teile Pythoni keele funktsioone, süntaksi funktsioone ja Pythoniga töötamise põhiprintsiipe 10 minuti jooksul koos näidetega. Siin pole "vett" – infot, mis pole otseselt programmeerimiskeelega seotud. Alustame!

Pythoni programmeerimiskeelt eristab tugev tippimine (Tugevat tippimist eristab asjaolu, et keel ei võimalda avaldistes erinevaid tüüpe segada ega teosta automaatseid kaudseid teisendusi, näiteks ei ole võimalik stringist hulka lahutada) , kasutatakse dünaamilist tippimist - kõik tüübid selgitatakse välja juba programmi täitmise käigus.

Muutujate deklaratsioon on valikuline, nimed on tõstutundlikud (var ja VAR on kaks erinevat muutujat).

Python on objektorienteeritud keel, kõik keeles on objekt.

Hankige abi

Pythoni spikker (help) on alati saadaval otse tõlgis. Kui soovite teada, kuidas objekt töötab, helistage abi ( ). Samuti on kasulik juhis dir() , mis näitab kõiki objekti meetodeid ja objektide omadusi .__doc__ , mis näitab teile dokumendistringi:

>>> abi(5) Abi int objekti kohta: (jne jne) >>> dir(5) ["__abs__", "__add__", ...] >>> abs.__doc__ "abs(number) -> number Tagastab argumendi absoluutväärtuse."

Pythoni süntaks

Pythonil pole ploki lõpu konstruktsioone (näiteks klassi või funktsiooni deklaratsioon) – plokid määratakse taande abil. Suurendage taanet ploki alguses, vähendage ploki lõpus. Treppimist nõudvad laused lõpetatakse kooloniga (:). Kui teil pole pärast ploki alguslauset koodi, sisestage süntaksikontrolli läbimiseks passlause.

Kuigi vahemiku loend == 1: pass

Üherealised kommentaarid algavad naelamärgiga (#), mitmerealised kommentaarid kasutavad ("") kommentaari alguses ja lõpus.

Väärtused määratakse võrdusmärgi ("=") abil (tegelikult määratakse objektidele protsessis nimed).

Erinevuste kontrollimine toimub kahe võrdse märgiga ("==").

Väärtust saab suurendada operaatoriga += ja vähendada -=, mis näitab vasakul olevat muutujat ja paremal väärtust, mille võrra suurenemine/vähenemine toimub. See töötab Pythonis paljude andmetüüpidega, sealhulgas stringidega.

Saate määrata väärtuse mitmele muutujale samal real. Näited:

>>> myvar = 3 >>> myvar += 2 >>> myvar 5 >>> myvar -= 1 >>> myvar 4 """See on mitmerealine kommentaar. Järgmised read ühendavad kaks stringi.""" >>> mystring = "Tere" >>> mystring += "maailm." >>> print mystring Tere maailm. # See vahetab muutujad ühel real (!). # See ei riku tugevat tippimist, sest väärtusi # tegelikult ei määrata, vaid uued objektid on seotud # vanade nimedega. >>> myvar, mystring = mystring, myvar

Andmetüübid Pythonis

Pythonis on saadaval sellised andmetüübid nagu loendid (loendid), korteežid (korteežid) ja sõnastikud (sõnastikud). Saadaval on ka komplektid, kasutades Python 2.5-le eelnevates versioonides komplektide moodulit ja hilisemates versioonides keelde sisse ehitatud.

Loendid on sarnased ühemõõtmeliste massiividega. Võimalik on ka teistest loenditest koosnev loend.

Sõnastikud on assotsiatiivsed massiivid, milles andmetele pääseb juurde võtmega.

Kordad on muutumatud ühemõõtmelised massiivid.

Pythoni "massiivid" võivad olla mis tahes tüüpi, mis tähendab, et saate loendites/sõnastikes/korteežides kombineerida numbreid, stringe ja muid andmetüüpe.

Esimese elemendi indeks on 0. Negatiivne indeksi väärtus hakkab lugema viimasest esimeseni, [-1] osutab viimasele elemendile.

Muutujad võivad osutada funktsioonidele.

>>> sample = , ("a", "korter")] >>> mylist = ["Loendi üksus 1", 2, 3.14] >>> mylist = "Loendi üksus 1 uuesti" # Me muudame üksust >>> mylist[-1] = 3.21 # Siin viitame viimasele üksusele >>> mydict = ("Võti 1": "Väärtus 1", 2: 3, "pi": 3.14) >>> mydict[ "pi"] = 3.15 # Nii saate muuta sõnastiku väärtusi>>> mytuple = (1, 2, 3) >>> myfunction = len >>> print myfunction(mylist) 3

Massiivi (loendi või korteeži) saate kooloni (:) abil viiludeks lõigata. Kui jätate indeksi algväärtuse tühjaks, saate alustada esimesest väärtusest, indeksi lõpu tühjaks jätmine eeldab massiivi viimast elementi. Negatiivseid indekseid loendatakse massiivi lõpust tagasi (-1 tähistab viimast elementi).

Vaata näiteid:

>>> mylist = ["Loendi üksus 1", 2, 3.14] >>> print mylist[:] ["Loendi üksus 1", 2, 3.1400000000000001] >>> print mylist ["Loendi üksus 1", 2] > >> print mylist[-3:-1] ["List item 1", 2] >>> print mylist # Kolmanda parameetri lisamisel on "step" Pythoni samm # N üksuse sammuga, mitte 1. # Nt. , tagastab see esimese üksuse, seejärel liigub kolmanda juurde ja # tagastab selle (nii, üksused 0 ja 2 0-indekseerimisel). >>> print mylist[::2] ["Loendi üksus 1", 3.14]

Stringid Pythonis

Stringi tähistamiseks võib kasutada apostroofi (‘) või jutumärke (topeltjutumärki – “). Seetõttu võivad stringi sees olla jutumärgid, mida tähistatakse apostroofidega (nt "Ta ütles "tere." on kehtiv string).

Mitmerealised stringid tähistatakse kolmekordse apostroofiga või jutumärkidega ("""). Python toetab karbist väljas olevat unicode'i. Kuid Pythoni teine ​​versioon kasutab unikoodi sisaldava stringi tähistamiseks märki (u): u"See on unicode string". Python3 kõik stringid on unicode'i Kui soovite Python3-s baitide jada, mis eelmistes versioonides oli sisuliselt string, kasutage märki (b): b"See on baidisting".

Parameetrite väärtuste asendamiseks stringiks kasutatakse operaatorit (%) ja korteeži. Iga %s asendatakse elemendiga korteerist vasakult paremale. Nimega parameetrite asendamiseks võite kasutada ka sõnastikku:

>>>print "Nimi: %s\ Number: %s\ String: %s" % (minuklass.nimi, 3, 3 * "-") Nimi: Poromenos Number: 3 String: --- string = """ See on mitmerealine string.""" # HOIATUS: olge "%(key)s" lõpus. >>> print "See %(verb)s a %(nimisõna)s." % ("nimisõna": "test", "verb": "on") See on test.

Voolu juhtimise juhised – kui, ajaks, ajaks

Lauseid if , for ja while kasutatakse programmi täitmise järjekorra kontrollimiseks. Pythonis pole lülitit ega ümbrist, kui selle asemel kasutatakse. For kasutatakse loendi (või korteeži) elementide itereerimiseks. Numbrijada saamiseks kasutage vahemikku ( ) . Break'i kasutatakse tsükli täitmise katkestamiseks.

Selle konstruktsiooni süntaks on:

Rangelist = vahemik(10) >>> prindi vahemikuloendi numbrite jaoks vahemikuloendis: # Kontrolli, kas arv on üks # korteeži numbritest. kui number on (3, 4, 7, 9): # "Katkestus" lõpetab for ilma, et # täidaks klauslit "else". break else: # "Jätka" alustab tsükli järgmist iteratsiooni #. See on siin üsna kasutu, # kuna see on tsükli viimane lause. jätka muud: # Klausel "else" on valikuline ja # käivitatakse ainult siis, kui tsükkel ei "katki". pass # Ärge tehke midagi, kui rangelist == 2: print "Teine üksus (loendid on 0-põhised) on 2 " elif rangelist == 3: print "Teine üksus (loendid on 0-põhised) on 3" else: print "Dunno" while rangelist == 1: pass

Funktsioonid Pythonis

Funktsioonid deklareeritakse märksõna "def" abil. Valikulised argumendid järgivad funktsiooni deklaratsiooni kohustuslikke argumente ja neile määratakse vaikeväärtus. Funktsiooni kutsumisel saate argumente edastada, määrates nende nime ja väärtuse, jättes mõned valikulised argumendid vahele või paigutades need funktsioonis deklareeritust erinevasse järjestusse.

Funktsioonid võivad tagastada korteeži ja korteeži lahtipakkimise abil saate tagastada mitu väärtust.

Lambda funktsioonid on erifunktsioonid, mis töötlevad ühte argumenti.

Parameetrid edastatakse lingi kaudu. Elementide lisamisel läbitud loendisse saate värskendatud loendi väljaspool funktsiooni. Sel juhul jääb funktsiooni sees parameetritele uue väärtuse määramine kohalikuks toiminguks. Kuna sisestatakse ainult mälu asukoht, siis parameetrile muutujana uue objekti määramine põhjustab uue objekti loomise.

Koodi näited:

# Sama mis def funcvar(x): return x + 1 funcvar = lambda x: x + 1 >>> print funcvar(1) 2 # an_int ja a_string on valikulised, neil on vaikeväärtused′′, kui seda ei edastata ( 2 ja vastavalt "Vaikestring"). def passing_example(a_list, an_int=2, a_string="Vaikestring"): a_list.append("Uus üksus") an_int = 4 return a_list, an_int, a_string >>> my_list = >>> my_int = 10 >> > print passing_example(my_list, my_int) (, 4, "Vaikestring") >>> my_list >>> my_int 10

Pythoni klassid

Python toetab klassides mitmekordse pärimise piiratud vormi.

Privaatseid muutujaid ja meetodeid saab deklareerida (tavaliselt tõlk seda ei kontrolli), kasutades nime alguses kahte alljoont ja mitte rohkem kui ühte nime lõpus (nt: "__spam").

Samuti saame klassieksemplaridele määrata suvalised nimed. Vaata näiteid:

Klass MyClass(objekt): ühine = 10 def __init__(self): ise.minumuutuja = 3 def myfunction(self, arg1, arg2): return self.myvariable # See on klassi eksemplar >>> classinstance = Minuklass() >> > classinstance.myfunction(1, 2) 3 # Seda muutujat jagavad kõik klassid. >>> classinstance2 = MyClass() >>> classinstance.common 10 >>> classinstance2.common 10 # Pange tähele, kuidas me kasutame eksemplari asemel klassi nime #. >>> MyClass.common = 30 >>> classinstance.common 30 >>> classinstance2.common 30 # See ei värskenda klassi muutujat, # selle asemel seob uue objekti vana # muutuja nimega. >>> classinstance.common = 10 >>> classinstance.common 10 >>> classinstance2.common 30 >>> MyClass.common = 50 # See ei ole muutunud, sest "common" on # nüüd eksemplari muutuja. >>> classinstance.common 10 >>> classinstance2.common 50 # See klass pärineb MyClassist. Ülaltoodud näide # klass pärib "objektilt", mis teeb # sellest "uue stiili klassiks". # Mitu pärimist deklareeritakse järgmiselt: # klass OtherClass(MyClass1, MyClass2, MyClassN) klass OtherClass(MyClass): # Argument "self" edastatakse automaatselt # ja see viitab klassi eksemplarile, nii et saate määrata # eksemplari muutujat nagu ülal, kuid klass.def __init__(self, arg1): self.myvariable = 3 print arg1 >> > classinstance = OtherClass("tere") tere >>> classinstance.myfunction(1, 2) 3 # Sellel klassil ei ole .test liiget, kuid # saame selle eksemplarile sellegipoolest lisada. Pange tähele #, et see on ainult klassiastme liige. >>> classinstance.test = 10 >>> classinstance.test 10

Erandid Pythonis

Pythoni erandeid käsitletakse proovi-välja arvatud plokkides:

Def some_function(): try: # Nulliga jagamine tekitab erandi 10/0, välja arvatud ZeroDivisionError: print "Oih, vigane." else: # Erandit ei tulnud, meil läheb hästi. pass lõpuks: # See käivitatakse pärast koodiploki käivitamist # ja kõigi erandite käsitlemist, isegi # kui käsitlemise ajal tõstatatakse uus erand. print "Oleme sellega lõpetanud." >>> some_function() Vabandust, kehtetu. Oleme sellega valmis.

Moodulite importimine Pythonis

Väliseid teeke kasutatakse pärast importimist, kasutades impordi märksõna. Saate kasutada ka importimist üksikute funktsioonide importimiseks.

Import juhuslikult ajast impordi kella randomint = random.randint(1, 100) >>> print randomint 64

Pythonis failidega töötamine

Pythonil on failidega töötamiseks suur hulk teeke. Näiteks serialiseerimine (andmete teisendamine stringideks hapukurgi teegiga):

Import pickle mylist = ["See", "on", 4, 13327] # Ava kirjutamiseks fail C:\\binary.dat. R-tähte enne # failinime stringi kasutatakse kaldkriipsu vältimise vältimiseks. minu fail = open(r"C:\\binary.dat", "w") pickle.dump(mylist, my file) myfile.close() myfile = open(r"C:\\text.txt", "w" ) myfile.write("See on näidisstring") myfile.close() myfile = open(r"C:\\text.txt") >>> print myfile.read() "See on näidisstring" minu fail .close() # Avage fail lugemiseks. myfile = open(r"C:\\binary.dat") loadedlist = pickle.load(minufail) myfile.close() >>> print loadedlist ["See", "on", 4, 13327]

Mitmesugust

  • Tingimused võivad kokku jääda, näiteks 1< a < 3 проверит, что a одновременно меньше 3 и больше 1.
  • Muutujate või elementide eemaldamiseks massiividest saate kasutada käsku del.
  • Loendid pakuvad väga võimsaid andmetega manipuleerimise võimalusi. Avaldise saate koostada kasutades for, millele järgneb if või lausete jaoks:
>>> lst1 = >>> lst2 = >>> print >>> print # Kontrollige, kas tingimus on mõne üksuse puhul tõene. # "any" tagastab tõene, kui mõni loendi üksus on tõene. >>> any(]) True # Seda seetõttu, et 4 % 3 = 1 ja 1 on tõene, seega tagastab any() # väärtuse Tõene. # Kontrollige, kui palju üksusi tingimus on tõene. >>> summa(1 for i in if i == 4) 2 >>> del lst1 >>> print lst1 >>> del lst1
  • Globaalsed muutujad deklareeritakse väljaspool funktsioone ja neid saab lugeda ilma spetsiaalsete deklaratsioonideta, kuid kui soovite need välja kirjutada, peate deklareerima funktsiooni algusest, kasutades spetsiaalset "globaalne" märksõna, vastasel juhul määrab Python uue väärtuse kohalikule muutujale:
number = 5 def myfunc(): # See prindib 5. print number def otherfunc(): # See tekitab erandi, kuna muutujat pole # enne printimist seotud. Python teab, et see # objekt seotakse sellega hiljem ja loob globaalsele objektile juurdepääsu asemel uue lokaalse # objekti. prindi number number = 3 def yetanotherfunc(): globaalne number # See muudab globaalset õigesti. arv = 3

Kuidas õppida Pythoni programmeerimiskeelt

See materjal ei pretendeeri Pythoni põhjalikuks juhendiks. Pythoni programmeerimiskeelel on tohutult palju teeke ja erinevaid funktsioone, mida saate tundma õppida keelega edasi töötades ja täiendavaid allikaid uurides.

Kui ülaltoodud infost Sulle ei piisa – tutvu Pythoni programmeerimiskeelt kirjeldava laiendatud materjaliga – – see annab keele kohta täpsemat infot.

Muude materjalide hulgas soovitan Learn Python The Hard Way. Ja muidugi Python 2 õpetus ja Python 3 õpetus.

Suur tänu Stavros Korokithakisele suurepärase õpetuse "Õppige Python 10 minutiga" eest.

Kui soovite selles materjalis midagi parandada - palun kirjutage kommentaaridesse.

Keele süntaks Python paljuski sarnane selliste keelte nagu Perl, C ja Java süntaksiga, kuid samal ajal on sellel mitmeid erinevusi nendest programmeerimiskeeltest. Selles artiklis vaatleme vajalikke põhitõed see programmeerimiskeel.

Esimene Pythoni programm:

Esiteks tuleb märkida, et edasi Python saate programmeerida kahes režiimis: interaktiivne ja stsenaarium

Interaktiivne programmeerimisrežiim:

Ilma failinime argumendina edastamata see käivitatakse Pythoni tõlk:

Sisestage viiparea järele järgmine tekst Python ja vajutage sisestusklahvi:

>>> print "Tere, Python!"

Kui tegite kõik õigesti, väljastab tõlk rea:

Kui saate veateate, veenduge, et olete koodi õigesti ümber kirjutanud ja kasutate 2.x tõlgendajat (versiooni 3.x puhul peaksite kasutama käsku print ("Tere, Python"))

Skripti programmeerimise režiim:

Käivitage pythoni käsureal kui parameetriks on faili nimi (seda nimetatakse ka skriptiks), hakkab täitma sellesse faili kirjutatud koodi. Pärast skripti täitmist on tõlk jälle passiivne.

Loome sisse lihtsa skriptiprogrammi Python. Avage mis tahes tekstiredaktor (Sublime, Notepad++, gedit...), looge sellesse fail nimetesti ja laiendiga .py (kõik failid, mis sisaldavad koodi Python peab olema laiendus .py) ja kirjuta meile juba tuttav kood sellesse faili ning salvesta fail:

Prindi "Tere, Python!"

(Eeldatakse, et Pythoni tõlk teil on see määratud muutujas PATH, see tähendab, et saate tõlgi käivitamiseks sisestada python mis tahes kataloogi)

Pärast seda sisestage käsureale järgmine rida ja vajutage sisestusklahvi:

Pythonis olevad identifikaatorid:

Identifikaatorid Pythonis on nimed, mida kasutatakse muutujale, funktsioonile, klassile, moodulile või muule objektile viitamiseks. Identifikaator peab algama tähega (a kuni Z) või alakriipsuga (_), millele järgneb suvaline arv tähti, allkriipse ja numbreid (0 kuni 9).

AT Python kirjavahemärgid või erimärgid, nagu @, $ või %, ei ole identifikaatoritena lubatud. Pealegi, Python tõstutundlik, see tähendab kass ja kass need on kaks erinevat nime.

Pythonil on identifikaatorite nimetamisel järgmine tava:

  • Klasside nimed algavad suure algustähega, kõik muud tunnused algavad väikese tähega.
  • Alakriipsu kasutamine identifikaatori esimese märgina tähendab, et antud tunnus on privaatne (kaitstud klassivälise kasutamise eest).
  • Kui identifikaator algab ja lõpeb kahe allkriipsuga (nt __init__), tähendab see, et see on keeles määratletud erinimi.

Reserveeritud (märksõna) sõnad Pythonis:

See tabel sisaldab kõike Pythoni märksõnad.

ja elif kui printida
nagu muidu importida tõsta
väita välja arvatud sisse tagasi
murda täitja on proovige
klass lõpuks lambda samas
jätka jaoks mitte mis
def alates või saagikus
del globaalne üle andma

Neid reserveeritud sõnu ei saa kasutada muutujate nimede ega muude tunnustena. Kõik Pythoni märksõnad koosnevad ainult väiketähtedest. Käsuga on võimalik saada interpretaatorisse märksõnade nimekiri

Abi ("märksõnad")

Jooned ja taanded:

Üks esimesi funktsioone Python Programmeerijatele, kes seda programmeerimiskeelt õppima hakkavad, jääb silma see, et see ei kasuta üksikute koodiplokkide tähistamiseks sulgu. Nende asemel Python kasutatakse koolonit ja taanet.

Tühikute arv taanetes on suvaline ja selle valib igaüks oma äranägemise järgi, kuid kokkuleppel võrdub see nelja tühikuga. Sel juhul peaks kogu ploki taane olema sama.

Näiteks see koodiplokk töötab (kuigi te ei tohiks seda niimoodi kirjutada):

Kui tõene: printige "Tere" muidu: printige "Hüvasti"

See annab veateate:

Kui see on õige: print "Tere" print "Bye"

Seega sisse Python mitu sama taandega koodirida moodustavad eraldi koodiploki. Tänu sellisele süsteemile suureneb oluliselt koodi loetavus ning kirjutamisharjumus on selgelt ja struktureeritud.

Mitmerealised väljendid:

Avaldised Pythonis lõpeb tavaliselt reavahetusega. Selles programmeerimiskeeles on aga spetsiaalne reavahetusmärk (\), mis näitab, et kood ei lõpe rea lõpuga. Näiteks:

Kokku = item1 + \ item2 + \ item3

Avaldised, mis asuvad nurksulgudes ((), lokkis sulgudes (( )) või ümarsulgudes (()), ei vaja reavahetusmärki. Näiteks:

Päevad = ["pühapäev", "esmaspäev", "teisipäev", "kolmapäev", "neljapäev", "reede", "laupäev"]

Tsitaadid Pythonis:

AT Python Stringi andmetüübi tähistamiseks võite kasutada ühe- ("), kahe- ("") ja kolmekordseid (""" või """) jutumärke ning string peab algama ja lõppema samade jutumärkidega. Mitut koodirida hõlmav string peab olema ümbritsetud kolmekordsete jutumärkidega. Näiteks:

Nimi = "wasd" kirjeldus = "Mõned tekstid" biograafia = """ Pikk tekst mõne koodirea jaoks """

Kas teil on küsimusi?

Teatage kirjaveast

Tekst saata meie toimetusele: