Jednostavan jezik o programiranju u Python-u 3. Programski jezik Python za početnike. Upute za kontrolu protoka - ako, za, dok

Prije nekoliko decenija, programeri su izgledali kao neka vrsta šamana koji znaju šta drugima nije dostupno. Ponekad su ljudi učili programiranje na kolenima, piseći kod na komadu papira, jer je "koncentracija kompjuterskih uređaja po glavi stanovnika" bila izuzetno niska. Sada je teško naći osobu koja kod kuće nema desktop ili laptop. Obrazovne tehnologije također ne miruju.

Malo istorije

Programski jezik Python razvio je Guido van Rossum kasnih osamdesetih. Guido je u to vrijeme bio zaposlenik holandskog CWI instituta. Napisao je ovaj jezik u svoje slobodno vrijeme, unoseći u njega neke ideje o ABC jeziku, čemu je sam doprinio.

Jezik nije nazvan u čast reptila. Zapravo, ideja za ime je bila popularna britanska humoristična emisija sedamdesetih pod nazivom "Leteći cirkus Monty Python-a", iako se Pajton i dalje mnogo češće poredi sa zmijom, kao što je čak i amblem na zvaničnom sajtu (pokazuje dve zmije glave) pokazuje.

Nije samo Van Rossumova dizajnerska intuicija zaslužna kao razlog zašto je programski jezik Python toliko popularan. Učenje od nule postaje ugodno i lako iskustvo, s obzirom na prisutnost prijateljske korisničke zajednice.

Ne tako davno, 2008. godine, izašla je prva verzija Python 3000 (3.0), koja je dugo testirana, gdje su mnoge arhitektonske nedostatke otklonjene. Istovremeno, programeri su nastojali održati kompatibilnost s prethodnim verzijama jezika. Iako postoji novija verzija, obje grane (2.x i 3.x) su podržane.

Koncizan programski jezik

Python ima niz prednosti u odnosu na druge jezike. To je razumljivo gotovo intuitivno, ima "transparentnu" sintaksu. To znači da je programski kod na ovom jeziku mnogo lakši za čitanje, što smanjuje vrijeme ne samo za njegovo pisanje, već i za razna poboljšanja i provjere.

Naravno, programer "stare škole" će reći da svakako morate znati nekoliko jezika, ili čak možete početi učenjem mašinskog koda. Ali, nakon završenog kursa programiranja na jeziku Python, osoba će dobiti ne samo specifična znanja, već i priliku da ostvari svoju kreativnu prirodu kreiranjem aplikacija i programa koji su sebi korisni. Možda će uskoro programiranje biti neophodno koliko i poznavanje stranog jezika.

Sumnja u sebe

Vrijedi odbaciti zabludu da je programiranje teško. Ne, programiranje je mnogo zanimljivije nego što izgleda; druge aktivnosti i takozvani "nedostatak vremena" ili lijenost mogu smetati.

Osnovna literatura će vam pomoći da brzo naučite programiranje na jeziku Python. Kurs obuke treba započeti čitanjem dvije knjige iz kojih možete naučiti osnove. Prvi je "Python Programming" Marka Lutza, a drugi je "Python 3 Programming" Marka Summerfielda. Lutzova knjiga detaljno, ponekad čak i previše, opisuje sve osnovne principe na kojima je jezik izgrađen. Neki savjetuju čitanje Marka Lutza ne za savladavanje, već za produbljivanje osnovnog znanja. Summerfieldova knjiga objašnjava sve sažetije, autor ne plaši čitaoca nikakvim poteškoćama. Postoji i druga literatura, ali ovi udžbenici su najkorisniji i najinformativniji.

uvodni kurs

Vratimo se na osnovnu školu. Po pravilu, čak i dete dolazi u prvi razred sa nekim minimalnim znanjem: roditelji su s nekim učili, neko je otišao u "nulu". Isto važi i za učenje programskog jezika Python. Zaista je zgodno i "transparentno", ali bez minimalnog poznavanja osnovnih principa programa obuka će biti teška. To je kao da učite muziku bez slušanja muzike. Stoga, oni koji se nikada nisu susreli s programiranjem trebali bi se upoznati sa "uvodnim minimumom".

CS50 predavanja će biti korisna pomoć. Ovo je kurs Harvard univerziteta o Java Script programiranju, ali prva predavanja objašnjavaju interakciju između računara i programa uopšte na pristupačan i razumljiv način. Korisnik koji govori ruski ima pristup video snimcima ovog kursa sa prevodom, dodatnim materijalima, tekstualnim verzijama predavanja i praktičnim zadacima. Videozapisi se mogu naći skoro svuda, kao što je YouTube, ali ceo sadržaj je na sajtu Java Script.

Na Internetu

Programski jezik Python postaje sve popularniji, tako da već duže vrijeme postoji nekoliko portala sa dosta materijala za samoučenje. Na primjer, "Python 3 za početnike". Ova stranica ima puno materijala za početnike, može se koristiti kao varalica. Također postoji velika količina informacija o ovoj temi sa besplatnim pristupom na web stranici Codecademy.

Komunikacija na forumu je važna. Samo učenje uvijek je teže, stoga nemojte zanemariti različite zajednice.

Plaćeni kursevi

Uvijek možete koristiti plaćene kurseve, ali ponekad to košta puno novca, a rezultat može biti nezadovoljavajući. Stoga je, naravno, preporučljivo odabrati kurseve koji nude besplatan uvodni zadatak. Na primjer, postoji intenziv na temu "Osnove programiranja Python" na GeekBrains-u. Časovi su besplatni i održavaju se svakih 10 dana. Da biste se registrovali, morate se prijaviti na stranicu.

Savjet: Koji god kurs da odaberete, prvo se upoznajte s osnovama jezika kako ne biste gubili vrijeme na nešto što možete lako naučiti sami. Biće dovoljno pročitati gore navedene knjige.

Naravno, kada savladam teoriju, želim da vežbam. Ovdje se moraju spomenuti predavanja Nicka Parlantea. Oni su na engleskom, iako generalno ima dosta dobre obrazovne literature na engleskom i to ne treba da čudi. Na predavanjima Nick ne samo da predaje programski jezik Python, već daje i odlične praktične zadatke.

Upotreba

Programski jezik Python je korišten za kreiranje mnogih aplikacija koje mnogi ljudi koriste svakodnevno. Na primjer, ovo je šesta verzija BitTorrent torrent klijenta. Takođe "Python" ("Pyton") se koristi u grafičkom uređivaču bitmapa Gimp. Uz to se kreiraju dodatni moduli, filteri, na primjer. Veći dio Civilization IV i Batterfield 2 napisan je na ovom jeziku.

Python koriste kompanije kao što su Google, Facebook, Instagram, Dropbox, Pinterest. Također radi u jezgri aplikacije Yandex Disk. Oko 10% zaposlenih u kompaniji piše na Pythonu, a mnogi programeri ga nazivaju svojim omiljenim jezikom.

Kako započeti

Nijedan kod ne može da radi "u vazduhu", programski jezik Python takođe poštuje ovo pravilo. Učenje od nule, iako počinje teorijom, zapravo, može se reći, počinje instalacijom radnog okruženja na personalnom računaru. Kako uraditi? Jednostavno je: trebate slijediti vezu službene Python web stranice, preuzeti i pokrenuti instalater, a zatim pažljivo slijediti korake koje on predlaže.

Imajte na umu da morate preuzeti datoteku prikladnu za operativni sistem instaliran na vašem računaru!

Ako je instalacija bila uspješna, otvorite konzolu (obično se to može učiniti prečicom na tipkovnici "ctrl + alt + T"). Sada možete napisati svoj prvi program. Na primjer, unesite "python3". Ako je konzola prikazala "pozdrav" gdje je naznačena verzija programa (na primjer, 3.4.0), onda je sve u redu, ako ne, onda morate instalirati treću verziju "Pythona" naredbom: "sudo apt-get install python3".
Međutim, to nije potrebno. Možete napisati kod u bilo kojem prikladnom uređivaču teksta, a zatim ga pokrenuti kroz konzolu, ili možete koristiti IDLE razvojno okruženje koje dolazi s distribucijom.

Pokrenite IDLE. Za kreiranje malog programa potrebna je samo jedna linija koda.

print("Zdravo svijet!")

Unesite ovaj kod u prozor IDLE i pritisnite enter. Okruženje će odmah odgovoriti akcijom - prikazaće traženi tekst na ekranu. Prvi program je spreman.

Programiranje u Pythonu

Dio 1. Jezičke karakteristike i osnovna sintaksa

Serija sadržaja:

Vrijedi li učiti Python?

Python je jedan od najpopularnijih modernih programskih jezika. Pogodan je za rješavanje raznih problema i nudi iste karakteristike kao i drugi programski jezici: dinamičnost, podršku za OOP i cross-platforme. Razvoj Pythona započeo je Guido Van Rossum još sredinom 1990-ih, pa je do sada uspio da se riješi standardnih "dječijih" bolesti, značajno razvije najbolje aspekte jezika i privuče mnoge programere koji koriste Python da implementiraju svoje projekte.

Mnogi programeri smatraju da je potrebno naučiti samo "klasične" programske jezike kao što su Java ili C++, jer drugi jezici ionako neće pružiti iste mogućnosti. Međutim, odnedavno postoji uvjerenje da je poželjno da programer zna više od jednog jezika, jer mu to širi vidike, omogućavajući mu da kreativnije rješava zadatke i povećava svoju konkurentnost na tržištu rada.

Naučiti dva jezika kao što su Java i C++ do savršenstva je prilično teško i oduzelo bi mnogo vremena; štaviše, mnogi aspekti ovih jezika su u suprotnosti jedni s drugima. Istovremeno, Python je idealan za ulogu drugog jezika, jer se odmah asimiluje zbog već postojećeg znanja u OOP-u, te činjenice da se njegove mogućnosti ne sukobljavaju, već nadopunjuju iskustvo stečeno u radu sa drugim programiranjem. jezik.

Ako programer tek počinje u polju razvoja softvera, onda će Python biti idealan "uvodni" programski jezik. Zbog svoje konciznosti, omogućit će vam da brzo savladate sintaksu jezika, a odsustvo "naslijeđa" u obliku aksioma koji su se formirali godinama pomoći će vam da brzo savladate OOP. Zbog ovih faktora, Python-ova kriva učenja će biti prilično kratka, a programer će moći da pređe sa studija slučaja na komercijalne projekte.

Stoga, bez obzira da li je čitalac ovog članka iskusan programer ili početnik u oblasti razvoja softvera, odgovor na pitanje koje nosi naslov ovog odjeljka trebao bi biti glasno potvrdan.

Ova serija članaka osmišljena je da vam pomogne da uspješno savladate krivulju učenja dosljednim pružanjem informacija od najosnovnijih principa jezika do njegovih naprednih mogućnosti u smislu integracije s drugim tehnologijama. U prvom članku ćemo govoriti o glavnim karakteristikama i sintaksi Pythona. U budućnosti ćemo se osvrnuti na složenije aspekte rada sa ovim popularnim jezikom, posebno na objektno orijentirano programiranje u Pythonu.

Python arhitektura

Svaki jezik, bilo za programiranje ili komunikaciju, sastoji se od najmanje dva dijela – rječnika i sintakse. Python jezik je organizovan na isti način, pružajući sintaksu za generisanje izraza koji formiraju izvršne programe, i rečnik, skup funkcionalnosti u obliku standardne biblioteke i dodataka.

Kao što je već pomenuto, Pythonova sintaksa je prilično sažeta, posebno u poređenju sa Javom ili C++. S jedne strane, ovo je dobro, jer što je sintaksa jednostavnija, to je lakše naučiti i manje grešaka možete napraviti u procesu korištenja. Međutim, takvi jezici imaju nedostatak - mogu se koristiti za prenošenje najjednostavnijih informacija i ne mogu izraziti složene strukture.

Ovo se ne odnosi na Python, jer je to jednostavan, ali pojednostavljen jezik. Činjenica je da je Python jezik sa višim nivoom apstrakcije, višim, na primjer, od Jave i C++, i omogućava vam da prenesete istu količinu informacija u manjoj količini izvornog koda.

Takođe, Python je jezik opšte namene, tako da se može koristiti u gotovo svim oblastima razvoja softvera (samostalni, klijent-server, Web aplikacije) i u bilo kojoj predmetnoj oblasti. Osim toga, Python se lako integriše sa postojećim komponentama, što omogućava ugradnju Python-a u već napisane aplikacije.

Drugi dio uspjeha Pythona su njegovi moduli proširenja, standardni i specifični. Standardni Python moduli proširenja su dobro dizajnirana i dokazana funkcionalnost za rješavanje problema koji se javljaju u svakom projektu razvoja softvera, obrada stringova i teksta, interakcija sa operativnim sistemom, podrška za web aplikacije. Ovi moduli su takođe napisani na Pythonu, tako da imaju svoje najvažnije svojstvo - cross-platform, što vam omogućava da brzo i bezbolno prenosite projekte sa jednog operativnog sistema na drugi.

Ako potrebna funkcionalnost nije bila u Python standardnoj biblioteci, tada možete kreirati svoj vlastiti modul proširenja za njegovu kasniju ponovnu upotrebu. Ovdje je vrijedno napomenuti da se moduli proširenja za Python mogu kreirati ne samo u samom Pythonu, već i korištenjem drugih programskih jezika. U ovom slučaju postaje moguće efikasnije implementirati resursno intenzivni zadaci, kao što su složena naučna izračunavanja, ali se prednost cross-platforme gubi ako jezik modula proširenja nije sam po sebi cross-platformski, kao što je Python.

Python vrijeme izvođenja

Kao što znate, svi programski jezici za više platformi izgrađeni su prema istom modelu: ovo je istinski prenosivi izvorni kod i runtime okruženje, koje nije prenosivo i specifično za svaku specifičnu platformu. Ovo vrijeme izvođenja obično uključuje tumač koji izvršava izvorni kod i razne uslužne programe potrebne za održavanje aplikacije - debuger, obrnuti asembler itd.

Java Runtime Environment dodatno uključuje kompajler jer izvorni kod mora biti preveden u bajt kod za Java virtuelnu mašinu. Python runtime uključuje samo interpreter, koji je takođe kompajler, ali kompajlira Python izvorni kod direktno u izvorni kod ciljne platforme.

Trenutno postoje tri dobro poznate implementacije vremena izvođenja za Python: CPython, Jython i Python.NET. Kao što naziv govori, prvo okruženje je implementirano u C, drugo u Javi, a posljednje u .NET-u.

CPython runtime se obično naziva jednostavno Python, a kada ljudi govore o Pythonu, najčešće se pominje ova implementacija. Ova implementacija se sastoji od interpretatora i modula proširenja napisanih u C-u i može se koristiti na bilo kojoj platformi za koju je dostupan standardni C kompajler. Osim toga, već postoje kompajlirane verzije runtime-a za različite operativne sisteme, uključujući različite verzije OC Windows-a i razne distribucije.linux. U ovom i narednim člancima, CPython će biti uzet u obzir, osim ako nije drugačije određeno.

Jython runtime je Python implementacija za rad sa Java virtuelnom mašinom (JVM). Podržana je svaka verzija JVM-a, počevši od verzije 1.2.2 (trenutna verzija Jave je 1.6). Jython zahtijeva instaliranu Java mašinu (Java runtime okruženje) i određeno poznavanje Java programskog jezika. Ne morate da znate kako da napišete Java izvorni kod, ali ćete morati da budete upoznati sa JAR datotekama i Java apletima, kao i dokumentacijom u JavaDOC formatu.

Koju verziju okruženja izabrati zavisi isključivo od preferencija programera, generalno, preporučljivo je da i CPython i Jython držite na računaru, jer se ne sukobljavaju, već se nadopunjuju. CPython okruženje je brže jer ne postoji međusloj u obliku JVM-a; osim toga, ažurirane verzije Python-a se prvo izdaju kao CPython okruženje. Međutim, Jython može koristiti bilo koju Java klasu kao modul proširenja i raditi na bilo kojoj platformi za koju postoji JVM implementacija.

Oba runtimea su izdata pod licencom kompatibilnom sa dobro poznatim GPL-om, tako da se mogu koristiti za razvoj komercijalnog i slobodnog softvera. Većina modula proširenja za Python također je objavljena pod GPL licencom i mogu se slobodno koristiti u bilo kojem projektu, ali postoje i komercijalna proširenja ili proširenja sa strožim licencama. Stoga, kada koristite Python u komercijalnom projektu, morate biti svjesni koja ograničenja postoje u licencama dodataka za proširenje.

Početak rada s Pythonom

Prije nego što počnete koristiti Python, morate instalirati njegovo okruženje za izvršavanje - u ovom članku to je CPython i, shodno tome, python interpreter. Postoje različite metode instalacije: napredni korisnici mogu sami kompajlirati Python iz njegovog javnog izvornog koda, također možete preuzeti gotove izvršne datoteke za određeni operativni sistem sa web stranice www.python.org, i na kraju, mnoge Linux distribucije dolaze sa Python interpreter je već unaprijed instaliran. Ovaj članak koristi Windows verziju Pythona 2.x, ali navedeni primjeri mogu se pokrenuti na bilo kojoj verziji Pythona.

Nakon što je instalater postavio Python izvršne datoteke u navedeni direktorij, morate provjeriti vrijednosti sljedećih sistemskih varijabli:

  • PUT. Ova varijabla mora sadržavati putanju do direktorija u kojem je Python instaliran kako bi je operativni sistem mogao pronaći.
  • PYTHONHOME. Ova varijabla bi trebala sadržavati samo putanju do direktorija u kojem je Python instaliran. Ovaj direktorij bi također trebao sadržavati poddirektorij lib u kojem će se tražiti standardni Python moduli.
  • PYTHONPATH. Varijabla sa listom direktorija koji sadrže module proširenja koji će biti povezani na Python (elementi liste moraju biti razdvojeni sistemskim separatorom).
  • PYTHONSTARTUP . Opciona varijabla koja definira putanju do Python skripte koja bi trebala biti izvršena svaki put kada se pokrene interaktivna sesija Python interpretatora.

Komandna linija za rad sa interpretatorom ima sljedeću strukturu.

PYTHONHOME\python (opcije) [ -c naredba | datoteka skripte | - ] (argumenti)

Python interaktivni način rada

Ako pokrenete interpreter bez navođenja komande ili datoteke skripte, on će se pokrenuti u interaktivnom načinu. U ovom načinu rada pokreće se posebna Python ljuska u koju možete unijeti pojedinačne naredbe ili izraze, a njihova vrijednost će se odmah izračunati. Ovo je vrlo zgodno kada učite Python, jer možete odmah provjeriti ispravnost određene konstrukcije.

Vrijednost procijenjenog izraza pohranjuje se u posebnu varijablu pod nazivom Single Underscore (_) tako da se može koristiti u narednim izrazima. Interaktivnu sesiju možete prekinuti pritiskom na Ctrl-Z na Windows-u ili Ctrl-D na Linuxu.

Opcije su opcione vrijednosti niza koje mogu promijeniti ponašanje tumača tokom sesije; njihov značaj će biti razmatran u ovom i narednim člancima. Opcije su praćene ili jednom naredbom koju tumač treba da izvrši, ili putanjom do datoteke koja sadrži skriptu za izvršenje. Vrijedi napomenuti da se naredba može sastojati od nekoliko izraza, odvojenih tačkom i zarezom, i mora biti zatvorena u navodnicima kako bi je operativni sistem mogao ispravno proslijediti interpretatoru. Argumenti su oni parametri koji se prosleđuju na dalju obradu izvršnoj skripti; prosljeđuju se programu kao nizovi i razdvajaju razmacima.

Možete pokrenuti sljedeće naredbe kako biste provjerili da li je Python ispravno instaliran i da radi:

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

Opcija -v prikazuje verziju Python implementacije koja se koristi i izlazi iz nje, dok druga komanda ispisuje vrijednost sistemskog vremena na ekran.

Python skripte možete pisati u bilo kojem uređivaču teksta, jer su obične tekstualne datoteke, ali postoje posebna razvojna okruženja dizajnirana za rad sa Pythonom.

Osnove Python sintakse

Python skripte izvornog koda sastoje se od tzv logički nizovi, od kojih se svaki redom sastoji od fizičke žice. Simbol # se koristi za označavanje komentara. Komentare i prazne redove tumač zanemaruje.

Sljedeći je vrlo važan aspekt koji može izgledati čudno programerima koji uče Python kao drugi programski jezik. Poenta je da u Pythonu ne postoji simbol koji je odgovoran za odvajanje izraza jedan od drugog u izvornom kodu, kao što je, na primjer, tačka-zarez (;) u C++ ili Javi. Tačka i zarez vam omogućava da odvojite više instrukcija ako su na istoj fizičkoj liniji. Također ne postoji takva konstrukcija kao što su kovrčave zagrade (), koja vam omogućava da kombinirate grupu instrukcija u jedan blok.

Fizički nizovi su odvojeni samim znakom na kraju reda, ali ako je izraz predugačak za jedan string, tada se dva fizička niza mogu kombinirati u jedan logički. Da biste to učinili, potrebno je da na kraju prvog reda unesete obrnutu kosu crtu (\), a zatim će sljedeći red tumačiti kao nastavak prvog, međutim, drugi znakovi je nemoguće biti u prvom redu nakon znaka \, na primjer, komentar sa #. Uvlačenje se koristi za isticanje blokova koda. Logički redovi sa istom veličinom uvlake formiraju blok, a blok se završava kada se pojavi logički red sa manjim uvlačenjem. Zbog toga prvi red u Python skripti ne bi trebao biti uvučen. Savladavanje ovih jednostavnih pravila pomoći će vam da izbjegnete većinu grešaka povezanih s učenjem novog jezika.

Nema drugih radikalnih razlika u odnosu na druge programske jezike u sintaksi Pythona. Postoji standardni skup operatora i ključnih riječi, od kojih je većina već poznata programerima, ali one specifične za Python će biti pokrivene u ovom i narednim člancima. Koriste se i standardna pravila za postavljanje identifikatora varijabli, metoda i klasa - ime mora početi donjom crtom ili latiničnim znakom bilo kojeg velikog slova i ne može sadržavati @, $, %. Također, samo jedan znak podvlake ne može se koristiti kao identifikator (pogledajte fusnotu za interaktivni način rada).

Tipovi podataka koji se koriste u Pythonu

Tipovi podataka koji se koriste u Pythonu su također isti kao i u drugim jezicima - cjelobrojni i realni tipovi podataka; osim toga, podržan je složeni tip podataka - sa realnim i imaginarnim dijelom (primjer takvog broja je 1,5J ili 2j, gdje je J kvadratni korijen od -1). Python podržava nizove koji se mogu staviti u jednostruke, dvostruke ili trostruke navodnike, dok su stringovi, kao u Javi, nepromjenjivi objekti, tj. ne mogu promijeniti svoju vrijednost nakon kreiranja.

U Pythonu postoji i logički bool tip podataka sa dvije opcije vrijednosti - True i False. Međutim, starije verzije Python-a nisu imale ovaj tip podataka, a osim toga, bilo koji tip podataka mogao bi se prebaciti na booleovu vrijednost True ili False. Svi brojevi različiti od nule i neprazni nizovi ili zbirke podataka tretirani su kao Tačno, dok su prazne i nulte vrijednosti tretirane kao False. Ova karakteristika je sačuvana u novim verzijama Pythona, međutim, da bi se povećala čitljivost koda, preporučuje se korištenje bool tipa za logičke varijable. U isto vrijeme, ako trebate zadržati kompatibilnost unatrag sa starijim implementacijama Pythona, trebali biste koristiti 1 (True) ili 0 (False) kao logičke varijable.

Funkcionalnost za rad sa skupovima podataka

Python definira tri tipa kolekcija za pohranjivanje skupova podataka:

  • tuple;
  • lista (list);
  • rječnik.

Tuple je nepromjenjivi uređeni niz podataka. Može sadržavati elemente različitih tipova, kao što su druge tuple. Tuple je definiran u zagradama, a njegovi elementi su odvojeni zarezima. Posebna ugrađena funkcija tuple() omogućava vam da kreirate tuple od datog niza podataka.

Lista je promjenjivi uređeni niz elemenata. Elementi liste su takođe odvojeni zarezima, ali su već postavljeni u uglastim zagradama. Funkcija list() se koristi za kreiranje lista.

Rječnik je hash tablica koja pohranjuje element zajedno sa njegovim identifikatorom ključa. Naknadni pristup elementima se također vrši pomoću ključa, tako da je jedinica memorije u rječniku par ključnih objekata i pridruženi objekt vrijednosti. Rječnik je promjenjiva, ali ne uređena kolekcija, tako da se redoslijed elemenata u rječniku može promijeniti tokom vremena. Rječnik je naveden u vitičastim zagradama, ključ je odvojen od vrijednosti dvotočkom, a sami parovi ključ/vrijednost su odvojeni zarezima. Funkcija dict() dostupna je za kreiranje rječnika.

Listing 1 prikazuje primjere različitih kolekcija dostupnih u Pythonu.

Listing 1. Tipovi kolekcija dostupni u Pythonu
('w','o','r','l','d') # torku od pet elemenata (2.62,) # torku jednog elementa [“test”,"me"] # lista dva elementa # prazna lista ( 5:'a', 6:'b', 7:'c') # Rječnik od 3 elementa s tipkama int

Definiranje funkcija u Pythonu

Iako Python podržava OOP, mnoge njegove karakteristike su implementirane kao zasebne funkcije; osim toga, moduli proširenja najčešće se izrađuju iu obliku biblioteke funkcija. Funkcije se također koriste u klasama, gdje se tradicionalno nazivaju metodama.

Sintaksa za definisanje funkcija u Pythonu je izuzetno jednostavna; podložno gore navedenim zahtjevima:

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

Kao što vidite, potrebno je koristiti def ključnu riječ, dvotočku i uvlačenje. Pozivanje funkcije je također vrlo jednostavno:

FUNCTION_NAME(parametri)

Postoji samo nekoliko stvari koje su specifične za Python. Kao i u Javi, primitivne vrijednosti se prosljeđuju po vrijednosti (kopija parametra ulazi u funkciju i ne može promijeniti vrijednost postavljenu prije nego što je funkcija pozvana), a složeni tipovi objekata se prosljeđuju referencom (referenca se prosljeđuje funkciji i može promijeniti objekt).

Parametri se mogu proslijediti ili jednostavno redoslijedom nabrajanja, ili imenom, u ovom slučaju, prilikom pozivanja, ne morate specificirati one parametre za koje postoje zadane vrijednosti, već samo proslijediti one obavezne ili promijeniti redoslijed parametara prilikom pozivanja funkcija:

#funkcija koja vrši dijeljenje cijelih brojeva - pomoću operatora // def foo(delimoe, delitel): return delimoe // delitel print divide(50,5) # rezultat rada: 10 print divide(delitel=5, delimoe=50) # rezultat radi: 10

Funkcija u Pythonu mora vratiti vrijednost, bilo eksplicitno korištenjem naredbe return nakon koje slijedi povratna vrijednost, ili, u odsustvu povratne izjave, vraćanjem konstante None kada se dostigne kraj funkcije. Kao što možete vidjeti iz primjera deklaracija funkcija, u Pythonu nije potrebno specificirati da li je nešto vraćeno iz funkcije ili ne, međutim, ako u funkciji postoji jedan return izraz koji vraća vrijednost, onda drugi povratni izrazi u funkciji ova funkcija mora vratiti vrijednosti, a ako postoji takva vrijednost ne, morate eksplicitno napisati return None.

Ako je funkcija vrlo jednostavna i sastoji se od jednog reda, onda se može definirati odmah na mjestu upotrebe, u Pythonu se takva konstrukcija naziva lambda funkcija (lambda). Lambda funkcija je anonimna funkcija (bez vlastitog imena) čije je tijelo povratna izjava koja vraća vrijednost nekog izraza. Ovaj pristup može biti zgodan u nekim situacijama, ali vrijedi napomenuti da je ponovna upotreba takvih funkcija nemoguća („tamo gdje ste rođeni, dobro je došlo“).

Takođe je vredno opisati Pythonov stav prema upotrebi rekurzije. Podrazumevano, dubina rekurzije je ograničena na 1000 nivoa, a kada se ovaj nivo prođe, biće izbačen izuzetak i program će se zaustaviti. Međutim, ovo ograničenje se može promijeniti ako je potrebno.

Funkcije u Pythonu imaju i druge zanimljive karakteristike, kao što je dokumentacija ili mogućnost definiranja ugniježđenih funkcija, ali će o njima biti riječi u sljedećim člancima u nizu sa složenijim primjerima.

O Python(bolje je reći "python", iako neki kažu "python") - tema ove studije, tvorac ovog programskog jezika, Holanđanin Guido van Rossum, najbolje kaže:

"Python je interpretirani, objektno orijentisani, programski jezik visokog nivoa sa dinamičkom semantikom. Ugrađene strukture podataka visokog nivoa, u kombinaciji sa dinamičko kucanje i uvezivanje čine jezik privlačnim za brzi razvoj aplikacija (RAD, Rapid Application Development). Osim toga, može se koristiti kao skriptni jezik za povezivanje softverskih komponenti. Pythonovu sintaksu je lako naučiti, naglašava čitljivost koda, a to smanjuje troškove održavanja softverskih proizvoda. Python podržava module i pakete, podstičući modularnost i ponovnu upotrebu koda. Python interpreter i velika standardna biblioteka dostupni su besplatno kao izvorni i izvršni kod za sve glavne platforme i slobodni su za redistribuciju."

U procesu proučavanja će se otkriti značenje ove definicije, ali za sada je dovoljno znati da je Python univerzalni programski jezik. Ima svoje prednosti i nedostatke, kao i područja primjene. Python dolazi sa opsežnom standardnom bibliotekom za širok spektar zadataka. Kvalitetne biblioteke za Python dostupne su na Internetu u različitim predmetnim oblastima: alati za obradu teksta i Internet tehnologije, obrada slika, alati za kreiranje aplikacija, mehanizmi pristupa bazama podataka, naučni računarski paketi, biblioteke za izgradnju GUI itd. Osim toga, Python ima prilično jednostavna sredstva za integraciju sa C, C++ (i Javom) kako ugrađivanjem tumača u programe na ovim jezicima, tako i obrnuto, korištenjem biblioteka napisanih na ovim jezicima u Python programima. Jezik Python podržava nekoliko paradigme programiranje: imperativno (proceduralni, strukturalni, modularni pristupi), objektno orijentirano i funkcionalno programiranje.

Možemo smatrati da je Python čitava tehnologija za kreiranje softverskih proizvoda (i njihovih prototipova). Dostupan je na skoro svim modernim platformama (i 32-bitnim i 64-bitnim) sa C kompajlerom i na Java platformi.

Možda se čini da u softverskoj industriji nema mjesta za bilo šta osim za C/C++, Java, Visual Basic, C#. Međutim, nije. Možda će zahvaljujući ovom kursu predavanja i praktičnih vježbi Python dobiti nove pristaše kojima će postati nezaobilazno sredstvo.

Kako opisati jezik?

Nije namjera ovog predavanja sistematski opisati Python: postoji originalni referentni priručnik za to. Ovdje se predlaže da se jezik razmatra istovremeno u nekoliko aspekata, što se postiže nizom primjera koji će vam omogućiti da se brže pridružite pravom programiranju nego u slučaju strogog akademskog pristupa.

Međutim, vrijedi obratiti pažnju na ispravan pristup opisivanju jezika. Kreiranje programa je uvijek komunikacija u kojoj programer prenosi na računalo informacije potrebne da bi izvršio radnje. Može se nazvati način na koji programer razumije ove radnje (tj. "značenje"). semantika. Sredstvo za prenošenje ovog značenja je sintaksa programski jezik. Pa, obično se zove ono što tumač radi na osnovu proslijeđenog pragmatika. Prilikom pisanja programa veoma je važno da u ovom lancu nema grešaka.

Sintaksa je potpuno formalizirani dio: može se opisati u formalni jezik sintaktički dijagrami (što je urađeno u referentnim priručnicima). Izraz pragmatike je sam tumač jezika. On je taj koji čita "poruku" napisanu u skladu sa sintaksom i pretvara je u akcije prema algoritmu koji je u nju ugrađen. Samo semantika ostaje neformalna komponenta. Upravo u prevođenju značenja u formalni opis leži najveća složenost programiranja. Sintaksa jezika Python ima moćne karakteristike koje pomažu da se programerovo razumijevanje problema približi njegovom "razumijevanju" od strane tumača. O unutrašnjoj strukturi Pythona biće reči na jednom od završnih predavanja.

Istorija jezika Python

Python je pokrenuo Guido van Rossum 1991. godine kada je radio na distribuiranom operativnom sistemu Amoeba. Trebao mu je proširiv jezik koji bi pružio podršku za sistemske pozive. Za osnovu su uzeti ABC i Modula-3. Odabrao je Python kao ime po BBC-jevoj humorističnoj seriji Monty Python's Flying Circus, a ne ime zmije. Od tada, Python je evoluirao uz podršku organizacija u kojima je Guido radio. Jezik se posebno aktivno unapređuje u današnje vrijeme, kada na njemu radi ne samo tim kreatora, već i čitava zajednica programera iz cijelog svijeta. Ipak, posljednja riječ o smjeru razvoja jezika ostaje za Guidom van Rossumom.

Ovaj materijal je namijenjen onima koji su već upoznati s programiranjem i žele naučiti programski jezik Python. Dizajniran je da vam pokaže karakteristike jezika Python, karakteristike sintakse i osnovne principe rada sa Pythonom u 10 minuta sa primjerima. Ovdje nema "vode" - informacija koje nisu direktno vezane za programski jezik. Počnimo!

Programski jezik Python razlikuje se po jakom kucanju (Jako kucanje razlikuje se po tome što jezik ne dozvoljava miješanje različitih tipova u izrazima i ne izvodi automatske implicitne konverzije, na primjer, nemoguće je oduzeti skup od niza) , koristi se dinamičko kucanje - svi tipovi se otkrivaju već tokom izvršavanja programa.

Deklaracija varijable nije obavezna, imena su osjetljiva na velika i mala slova (var i VAR su dvije različite varijable).

Python je objektno orijentisani jezik, sve u jeziku je objekt.

Potražite pomoć

Pomoć (pomoć) u Pythonu je uvijek dostupna direktno u interpretatoru. Ako želite znati kako objekt funkcionira, pozovite pomoć ( ). Također korisna instrukcija je dir() , koja pokazuje sve metode objekta i svojstva objekata .__doc__ , koji će vam pokazati docstring:

>>> help(5) Pomoć za int objekt: (itd itd.) >>> dir(5) ["__abs__", "__add__", ...] >>> abs.__doc__ "abs(broj) -> broj Vrati apsolutnu vrijednost argumenta."

Python sintaksa

Python nema konstrukcije za završetak bloka (kao što je deklaracija klase ili funkcije, na primjer) - blokovi se definiraju pomoću uvlačenja. Povećajte uvlačenje na početku bloka, smanjite ga na kraju bloka. Izjave koje zahtijevaju uvlačenje završavaju se dvotočkom (:). Ako nemate nikakav kod nakon naredbe za početak bloka, umetnite naredbu pass da prođete provjeru sintakse.

Dok rang lista == 1: prolaz

Komentari u jednom redu počinju znakom funte (#), komentari u više redaka koriste (""") na početku i kraju komentara.

Vrijednosti se dodjeljuju pomoću znaka jednakosti ("=") (zapravo, objektima se u procesu dodjeljuju imena).

Provjera razlike se vrši sa dva znaka jednakosti ("==").

Možete povećati vrijednost pomoću operatora += i smanjiti je sa -=, navodeći varijablu na lijevoj strani, a vrijednost za koju će se povećanje/smanjenje dogoditi na desnoj strani. Ovo radi sa mnogim tipovima podataka u Pythonu, uključujući nizove.

Možete dodijeliti vrijednost višestrukim varijablama u istoj liniji. primjeri:

>>> myvar = 3 >>> myvar += 2 >>> myvar 5 >>> myvar -= 1 >>> myvar 4 """Ovo je višelinijski komentar. Sljedeći redovi spajaju dva niza.""" >>> mystring = "Zdravo" >>> mystring += "svijet." >>> print mystring Zdravo svijete. # Ovo menja varijable u jednom redu(!). # To ne krši jako kucanje jer se vrijednosti # zapravo ne dodjeljuju, ali su novi objekti vezani # za stara imena. >>> myvar, mystring = mystring, myvar

Tipovi podataka u Pythonu

U Pythonu su dostupni tipovi podataka kao što su liste (liste), tuple (torke) i rječnici (rječnici). Dostupni su i setovi, koristeći modul setova u verzijama prije Python 2.5 i ugrađen u jezik u kasnijim verzijama.

Liste su slične jednodimenzionalnim nizovima. Moguće je imati listu koja se sastoji od drugih lista.

Rječnici su asocijativni nizovi u kojima se podacima pristupa pomoću ključa.

Tuples su nepromjenjivi jednodimenzionalni nizovi.

"Nizovi" u Pythonu mogu biti bilo koje vrste, što znači da možete kombinirati brojeve, nizove i druge tipove podataka u listama/rječnicima/torkama.

Indeks prvog elementa je 0. Negativna vrijednost indeksa počinje brojati od posljednjeg do prvog, [-1] će pokazivati ​​na posljednji element.

Varijable mogu ukazivati ​​na funkcije.

>>> sample = , ("a", "tuple")] >>> mylist = ["List item 1", 2, 3.14] >>> mylist = "List item 1 again" # Mi"menjamo stavku >>> mylist[-1] = 3.21 # Ovdje se pozivamo na posljednju stavku >>> mydict = ("Ključ 1": "Vrijednost 1", 2: 3, "pi": 3.14) >>> mydict[ "pi"] = 3.15 # Ovako mijenjate vrijednosti rječnika >>> mytuple = (1, 2, 3) >>> myfunction = len >>> print myfunction(mylist) 3

Možete izrezati niz (listu ili tuple) koristeći dvotočku (:). Ako ostavite početnu vrijednost indeksa praznu, reći će vam da počnete od prve vrijednosti, a kraj indeksa prazan pretpostavlja posljednji element niza. Negativni indeksi se broje unatrag od kraja niza (-1 označava posljednji element).

Pogledajte primjere:

>>> mylist = ["List item 1", 2, 3.14] >>> print mylist[:] ["List item 1", 2, 3.1400000000000001] >>> print mylist ["List item 1", 2] > >> print mylist[-3:-1] ["List item 1", 2] >>> print mylist # Dodavanje trećeg parametra, "step" će imati Python korak u # N inkrementima stavke, umjesto 1. # Npr. , ovo će vratiti prvu stavku, zatim ići na treću i # vratiti to (dakle, stavke 0 i 2 u 0-indeksiranju). >>> print mylist[::2] ["List item 1", 3.14]

Stringovi u Pythonu

Apostrof (‘) ili dvostruki navodniki (dvostruki navodnik - “) mogu se koristiti za označavanje niza. Zbog toga možete imati navodnike unutar stringa označene apostrofima (npr. 'On je rekao "zdravo'" je važeći niz).

Višelinijski nizovi su označeni trostrukim apostrofom ili navodnicima ("""). Python podržava unicode izvan okvira. Međutim, druga verzija Pythona koristi znak (u) da označi niz koji sadrži unikod: u"Ovo je unicode string". Python3 svi stringovi su unicode Ako u Pythonu3 želite niz bajtova, koji je u osnovi bio string u prethodnim verzijama, koristite znak (b): b"Ovo je niz bajtova".

Operator (%) i tuple se koriste za zamjenu vrijednosti parametara u nizu. Svaki %s je zamijenjen elementom iz tuple, s lijeva na desno. Također možete koristiti rječnik za zamjenu imenovanih parametara:

>>>print "Naziv: %s\ Broj: %s\ Niz: %s" % (myclass.name, 3, 3 * "-") Ime: Poromenos Broj: 3 String: --- strString = """ Ovo je višeredni niz.""" # UPOZORENJE: Pazite na zadnje s u "%(key)s". >>> print "Ovaj %(glagol)s a %(imenica)s." % ("imenica": "test", "glagol": "je") Ovo je test.

Upute za kontrolu protoka - ako, za, dok

Naredbe if, for i while koriste se za kontrolu redoslijeda u kojem se program izvršava. U Pythonu nema prekidača ili velikih slova, ako se umjesto toga koristi. For se koristi za iteraciju kroz elemente liste (ili tuple). Da biste dobili niz brojeva, koristite raspon ( ) . Break se koristi za prekid izvođenja petlje.

Sintaksa za ovu konstrukciju je:

Rangelist = range(10) >>> ispisati listu raspona za broj u listi raspona: # Provjerite da li je broj jedan od # brojeva u tuple. ako je broj u (3, 4, 7, 9): # "Prekid" prekida for bez # izvršavanja klauzule "else". break else: # "Nastavi" započinje sljedeću # iteraciju petlje. Ovdje je prilično beskorisno, # jer je to posljednja izjava petlje. nastavi ostalo: # Klauzula "else" je opciona i # se izvršava samo ako petlja nije "prekinula". pass # Ne radi ništa ako rangelist == 2: print "Druga stavka (liste su zasnovane na 0) je 2 " elif rangelist == 3: print "Druga stavka (liste su bazirane na 0) je 3" else: print "Ne znam" dok rangelist == 1: prolaz

Funkcije u Pythonu

Funkcije su deklarirane pomoću ključne riječi "def". Opcijski argumenti slijede obavezne argumente u deklaraciji funkcije i dodjeljuje im se zadana vrijednost. Kada pozivate funkciju, možete proslijediti argumente tako što ćete navesti njihovo ime i vrijednost, dok preskačete neke od opcionih argumenata ili ih postavljate u redoslijed različit od onog deklariranog u funkciji.

Funkcije mogu vratiti tuple i koristeći raspakiranje tuple možete vratiti više vrijednosti.

Lambda funkcije su posebne funkcije koje obrađuju jedan argument.

Parametri se prenose preko veze. Dodavanjem elemenata u proslijeđenu listu dobit ćete ažuriranu listu izvan funkcije. U ovom slučaju, dodjela nove vrijednosti parametrima unutar funkcije ostat će lokalna akcija. Budući da se prosljeđuje samo memorijska lokacija, dodjeljivanje novog objekta parametru kao varijabli će uzrokovati kreiranje novog objekta.

Primjeri kodova:

# Isto kao def funcvar(x): return x + 1 funcvar = lambda x: x + 1 >>> print funcvar(1) 2 # an_int i a_string su opcioni, imaju zadane vrijednosti # ako nije proslijeđena ( 2 i "Podrazumevani niz", respektivno). def passing_example(a_list, an_int=2, a_string="Zadani niz"): a_list.append("Nova stavka") an_int = 4 vraćanje a_list, an_int, a_string >>> my_list = >>> my_int = 10 >> > print passing_example(my_list, my_int) (, 4, "Zadani niz") >>> my_list >>> my_int 10

Python klase

Python podržava ograničeni oblik višestrukog nasljeđivanja u klasama.

Privatne varijable i metode se mogu deklarisati (po konvenciji, to se ne provjerava od strane interpretatora) koristeći dvije donje crte na početku i ne više od jedne na kraju imena (npr.: "__spam").

Takođe možemo dodijeliti proizvoljna imena instancama klase. Pogledajte primjere:

Class MyClass(object): common = 10 def __init__(self): self.myvariable = 3 def myfunction(self, arg1, arg2): return self.myvariable # Ovo je instancija klase >>> classinstance = MyClass() >> > classinstance.myfunction(1, 2) 3 # Ovu varijablu dijele sve klase. >>> classinstance2 = MyClass() >>> classinstance.common 10 >>> classinstance2.common 10 # Obratite pažnju kako koristimo ime klase # umjesto instance. >>> MyClass.common = 30 >>> classinstance.common 30 >>> classinstance2.common 30 # Ovo neće ažurirati varijablu na klasi, # umjesto toga će vezati novi objekt za staro ime # varijable. >>> classinstance.common = 10 >>> classinstance.common 10 >>> classinstance2.common 30 >>> MyClass.common = 50 # Ovo se nije promijenilo, jer je "common" # sada varijabla instance. >>> classinstance.common 10 >>> classinstance2.common 50 # Ova klasa nasljeđuje od MyClass. Primjer # klase iznad nasljeđuje od "object", što čini # ono što se zove "klasa novog stila". # Višestruko nasljeđivanje je deklarirano kao: # klasa OtherClass(MyClass1, MyClass2, MyClassN) klasa OtherClass(MyClass): # Argument "self" se automatski prosljeđuje # i odnosi se na instancu klase, tako da možete postaviti # varijable instance kao gore, ali iznutra class.def __init__(self, arg1): self.myvariable = 3 print arg1 >> > classinstance = OtherClass("zdravo") zdravo >>> classinstance.myfunction(1, 2) 3 # Ova klasa nema .test člana, ali # ga ipak možemo dodati instanci. Napomena # da će ovo biti samo član classinstance. >>> classinstance.test = 10 >>> classinstance.test 10

Izuzeci u Pythonu

Izuzeci u Pythonu se obrađuju u blokovima try-except:

Def some_function(): try: # Podjela na nulu stvara izuzetak 10 / 0 osim ZeroDivisionError: print "Ups, nevažeće." else: # Izuzetak se nije dogodio, dobro smo. pass konačno: # Ovo se izvršava nakon što je blok koda pokrenut # i svi izuzeci su obrađeni, čak i # ako je novi izuzetak podignut tokom rukovanja. print "Završili smo s tim." >>> some_function() Ups, nevažeće. Završili smo s tim.

Uvoz modula u Python

Eksterne biblioteke se koriste nakon uvoza pomoću ključne riječi import. Također možete koristiti iz importa za uvoz pojedinačnih funkcija.

Uvezi nasumično iz vremena import clock randomint = random.randint(1, 100) >>> print randomint 64

Rad sa fajlovima u Pythonu

Python ima veliki broj biblioteka za rad sa fajlovima. Na primjer, serijalizacija (pretvaranje podataka u nizove s bibliotekom pickle):

Import pickle mylist = ["Ovo", "je", 4, 13327] # Otvorite datoteku C:\\binary.dat za pisanje. Slovo r prije # niza imena datoteke koristi se da spriječi izbjegavanje obrnute kose crte. myfile = open(r"C:\\binary.dat", "w") pickle.dump(mylist, myfile) myfile.close() myfile = open(r"C:\\text.txt", "w" ) myfile.write("Ovo je uzorak niza") myfile.close() myfile = open(r"C:\\text.txt") >>> print myfile.read() "Ovo je uzorak niza" myfile .close() # Otvorite datoteku za čitanje. myfile = open(r"C:\\binary.dat") loadedlist = pickle.load(myfile) myfile.close() >>> print loadedlist ["Ovo", "je", 4, 13327]

Razno

  • Uslovi se mogu držati zajedno, na primjer 1< a < 3 проверит, что a одновременно меньше 3 и больше 1.
  • Možete koristiti del za uklanjanje varijabli ili elemenata u nizovima.
  • Liste pružaju vrlo moćne mogućnosti manipulacije podacima. Možete sastaviti izraz koristeći for nakon čega slijede if ili for izjave:
>>> lst1 = >>> lst2 = >>> print >>> print # Provjerite da li je uvjet tačan za bilo koju stavku. # "bilo koji" vraća true ako je bilo koja stavka na listi istinita. >>> any(]) Tačno # To je zato što je 4 % 3 = 1, a 1 je istina, pa any() # vraća Tačno. # Provjerite koliko je stavki uvjet istinit. >>> sum(1 za i u ako je i == 4) 2 >>> del lst1 >>> print lst1 >>> del lst1
  • Globalne varijable su deklarirane izvan funkcija i mogu se čitati bez posebnih deklaracija iznutra, ali ako želite da ih zapišete, morate deklarirati from na početku funkcije koristeći posebnu ključnu riječ "global", inače će Python dodijeliti novu vrijednost na lokalnu varijablu:
number = 5 def myfunc(): # Ovo će ispisati 5. print number def anotherfunc(): # Ovo izaziva izuzetak jer varijabla nije # bila vezana prije ispisa. Python zna da će to # objekt biti vezan za njega kasnije i kreira novi, lokalni # objekt umjesto pristupa globalnom. print number number = 3 def yetanotherfunc(): globalni broj # Ovo će ispravno promijeniti globalno. broj = 3

Kako naučiti programski jezik Python

Ovaj materijal ne tvrdi da je sveobuhvatan vodič za Python. Programski jezik Python ima ogroman broj biblioteka i raznih funkcionalnosti koje ćete upoznati ako nastavite da radite sa jezikom i proučavate dodatne izvore.

Ako vam gore navedene informacije nisu dovoljne - pogledajte prošireni materijal koji opisuje programski jezik Python - on pruža informacije o jeziku sa više detalja.

Između ostalih materijala, preporučujem Learn Python The Hard Way. I naravno Vodič za Python 2 i Vodič za Python 3.

Veliko hvala Stavrosu Korokithakisu na njegovom odličnom tutorijalu "Naučite Python za 10 minuta".

Ako želite nešto poboljšati u ovom materijalu - napišite u komentarima.

Sintaksa jezika Python na mnogo načina sličan sintaksi jezika kao što su Perl, C i Java, ali u isto vrijeme ima niz razlika od ovih programskih jezika. U ovom članku ćemo pogledati što je potrebno osnove ovo programski jezik.

Prvi Python program:

Prvo, treba napomenuti da na Python možete programirati na dva načina: interaktivno i scripted

Interaktivni način programiranja:

Bez prosljeđivanja imena datoteke kao argumenta, ona će se pokrenuti Python interpreter:

Unesite sljedeći tekst nakon linije upita Python i pritisnite Enter:

>>> print "Zdravo, Python!"

Ako ste sve uradili ispravno, onda će tumač izdati red:

Ako dobijete grešku, uvjerite se da ste ispravno prepisali kod i da koristite 2.x interpreter (za verziju 3.x, trebali biste koristiti naredbu print ("Zdravo, Python"))

Način programiranja skripte:

Pokrenite u python komandnoj liniji sa imenom datoteke (naziva se i skriptom) kao parametrom, počet će izvršavati kod napisan u ovoj datoteci. Nakon što se izvršavanje skripte završi, tumač će ponovo biti neaktivan.

Kreirajmo jednostavan skript program u Python. Otvorite bilo koji uređivač teksta (Sublime, Notepad++, gedit...), kreirajte u njemu fajl sa imenom test i ekstenzijom .py (sve datoteke koje sadrže kod u Python mora imati ekstenziju .py) i u ovu datoteku upišite kod koji nam je već poznat i sačuvajte datoteku:

Štampaj "Zdravo, Python!"

(Pretpostavlja se da Python interpreter imate ga postavljenu u varijablu PATH, odnosno možete unijeti python u bilo koji direktorij da pokrenete interpreter)

Nakon toga unesite sljedeći red u komandnu liniju i pritisnite Enter:

Identifikatori u Pythonu:

Identifikatori u Pythonu su imena koja se koriste za upućivanje na varijablu, funkciju, klasu, modul ili drugi objekt. Identifikator mora početi slovom (od a do Z) ili donjom crtom (_), nakon čega slijedi bilo koji broj slova, podvlaka i brojeva (0 do 9).

AT Python znakovi interpunkcije ili posebni znakovi kao što su @, $ ili % nisu dozvoljeni kao identifikatori. osim toga, Python osjetljivo na velika i mala slova, tj mačka i mačka to su dva različita imena.

Python ima sljedeću konvenciju za imenovanje identifikatora:

  • Imena klasa počinju velikim slovom, svi ostali identifikatori počinju malim slovom.
  • Upotreba donje crte kao prvog znaka identifikatora znači da je dati identifikator privatan (zaštićen od upotrebe izvan klase).
  • Ako identifikator počinje i završava s dvije donje crte (npr. __init__) to znači da je to posebno ime definirano unutar jezika.

Rezervirane (ključne riječi) riječi u Pythonu:

Ova tabela sadrži sve Python ključne riječi.

i elif ako print
as ostalo uvoz podići
tvrditi osim in povratak
break exec je probaj
klasa konačno lambda dok
nastaviti za ne koji
def od ili prinos
del globalno pass

Ove rezervirane riječi ne mogu se koristiti kao ime varijable ili bilo koji drugi identifikator. Sve Python ključne riječi sastoji se samo od malih slova. Naredbom je moguće dobiti listu ključnih riječi u interpreteru

Pomoć("ključne riječi")

Linije i uvlake:

Jedna od prvih karakteristika Python Ono što upada u oči programerima koji počinju da uče ovaj programski jezik je to što on ne koristi zagrade za označavanje pojedinačnih blokova koda. Umjesto njih unutra Python koriste se dvotočke i uvlačenje.

Broj razmaka u alineji je proizvoljan i bira ga svako po sopstvenom nahođenju, međutim, po dogovoru je jednak četiri razmaka. U ovom slučaju, uvlačenje cijelog bloka treba biti isto.

Na primjer, ovaj blok koda će raditi (iako ga ne biste trebali pisati ovako):

Ako je tačno: ispiši "Bok" drugo: ispiši "Zbogom"

Ovo će dati grešku:

Ako je tačno: odštampajte "Bok" odštampajte "Ćao"

Dakle, u Python više linija koda sa istim uvlačenjem će formirati poseban blok koda. Zahvaljujući takvom sistemu, čitljivost koda je znatno povećana, a navika pisanja je jasna i strukturirana.

Višelinijski izrazi:

Izrazi u Pythonu obično završavaju novim redom. Međutim, u ovom programskom jeziku postoji poseban znak za prijelom reda (\), koji označava da se kod ne završava krajem reda. Na primjer:

Ukupno = stavka 1 + \ stavka 2 + \ stavka 3

Izrazi koji se nalaze unutar uglastih zagrada ((), vitičastih zagrada (( )) ili okruglih zagrada (()) ne trebaju znak prijeloma reda. Na primjer:

Dani = ["nedjelja", "ponedjeljak", "utorak", "srijeda", "četvrtak", "petak", "subota"]

Citati u Pythonu:

AT Python Možete koristiti jednostruke ("), dvostruke ("") i trostruke (""" ili """) navodnike da označite tip podataka niza, a niz mora početi i završavati istim navodnicima. String koji obuhvata više redova koda mora biti stavljen u trostruke navodnike. Na primjer:

Naziv = "wasd" description = "Neki tekst" biografija = """ Neki dugi tekst za nekoliko redova koda """

Imate pitanja?

Prijavite grešku u kucanju

Tekst za slanje našim urednicima: