Kako podesiti pametne telefone i računare. Informativni portal

Osnovne komande programskog jezika Python. Kratak pregled jezika Python

Jednom davno, na zatvorenom forumu, pokušao sam da podučavam Python. Generalno, tu su stvari zastale. Bilo mi je žao napisanih lekcija, pa sam odlučio da ih objavim široj javnosti. Do sada prvi, najjednostavniji. Ono što se dalje dešava je zanimljivije, ali možda neće biti zanimljivo. Općenito, ovaj post će biti probni balon, ako vam se sviđa, objavit ću ga dalje.

Python za početnike. Prvo poglavlje. "o čemu pričamo"

Za svaki slučaj, malo dosadno “evangelizacija”. Ako ste umorni od njega, možete preskočiti nekoliko pasusa.
Python (izgovara se "Python" umjesto "python") je skriptni jezik koji je razvio Guido van Rossum kao jednostavan jezik koji je lak za učenje za početnike.
Danas je Python široko korišten jezik koji se koristi u mnogim područjima:
- Razvoj aplikativnog softvera (na primjer, Linux uslužni programi yum, pirut, system-config-*, Gajim IM klijent i mnogi drugi)
- Razvoj web aplikacija (na njegovoj osnovi razvijen je najmoćniji aplikacijski server Zope i CMS Plone na kojem npr. radi CIA web stranica, te mnoštvo okvira za brzi razvoj aplikacija Plones, Django, TurboGears i mnogi drugi)
- Koristi se kao ugrađeni skriptni jezik u mnogim igrama, a ne samo (u Office paketu OpenOffice.org, Blender 3d editor, Postgre DBMS)
- Upotreba u naučnim proračunima (sa SciPy i numPy paketima za proračune i PyPlot za crtanje grafova, Python postaje skoro uporediv sa paketima kao što je MatLab)

I ovo, naravno, nije potpuna lista projekata koji koriste ovaj divan jezik.

1. Sam tumač, možete ga nabaviti ovdje (http://python.org/download/).
2. Razvojno okruženje. Nije potrebno započeti, a IDLE uključen u distribuciju je pogodan za početnika, ali za ozbiljne projekte treba vam nešto ozbiljnije.
Za Windows koristim divan lagani PyScripter (http://tinyurl.com/5jc63t), za Linux - Komodo IDE.

Iako će za prvu lekciju biti dovoljna samo interaktivna ljuska Pythona.

Samo pokrenite python.exe. Prompt za unos neće trebati dugo da se pojavi, izgleda ovako:

Takođe možete pisati programe u datoteke sa ekstenzijom py u svom omiljenom uređivaču teksta, koji ne dodaje sopstvene znakove za označavanje u tekst (nijedan Word neće raditi). Takođe je poželjno da ovaj uređivač može da pravi „pametne tabove“ i da ne zamenjuje razmake tabulatorima.
Da biste pokrenuli datoteke za izvršenje, možete dvaput kliknuti na njih. Ako se prozor konzole zatvori prebrzo, umetnite sljedeći red na kraj programa:

Zatim će prevodilac čekati da pritisnete enter na kraju programa.

Ili povežite py datoteke u Far sa Pythonom i otvorite ih pritiskom na enter.

Konačno, možete koristiti jedan od mnogih praktičnih IDE-a za Python, koji pružaju mogućnosti otklanjanja grešaka, isticanje sintakse i mnoge druge „pogodnosti“.

Malo teorije.

Za početak, Python je jako dinamički ukucan jezik. Šta to znači?

Postoje jezici sa jakim kucanjem (pascal, java, c itd.), u kojima je tip varijable određen unapred i ne može se menjati, a postoje jezici sa dinamičkim kucanjem (python, ruby, vb ), u kojem se tip varijable tumači u zavisnosti od dodijeljene vrijednosti.
Dinamički kucani jezici mogu se podijeliti na još 2 tipa. Stroge, koje ne dozvoljavaju implicitnu konverziju tipa (Python), i one labave, koje izvode implicitne konverzije tipova (na primjer, VB, u koji možete lako dodati string "123" i broj 456).
Nakon što smo se pozabavili Pythonovom klasifikacijom, pokušajmo se malo "poigrati" s interpretatorom.

>>> a = b = 1 >>> a, b (1, 1) >>> b = 2 >>> a, b (1, 2) >>> a, b = b, a >>> a , b (2, 1)

Dakle, vidimo da se dodjela vrši pomoću znaka =. Možete dodijeliti vrijednost nekoliko varijabli odjednom. Kada navedete ime varijable interpretatoru interaktivno, on ispisuje njenu vrijednost.

Sljedeće što trebate znati je kako se konstruiraju osnovne algoritamske jedinice - grane i petlje. Za početak je potrebna mala pomoć. U Pythonu ne postoji poseban graničnik za blokove koda; uvlačenje služi njihovoj ulozi. To jest, ono što je napisano sa istim uvlačenjem je jedan komandni blok. U početku ovo može izgledati čudno, ali nakon što se malo naviknete, shvatite da vam ova “prisilna” mjera omogućava da dobijete vrlo čitljiv kod.
Dakle, uslovi.

Uvjet je specificiran korištenjem if naredbe koja završava sa “:”. Alternativne uslove koji će biti ispunjeni ako prva provjera ne uspije specificira elif operator. Konačno, else specificira granu koja će se izvršiti ako nijedan od uslova nije ispunjen.
Imajte na umu da nakon što unese if, tumač koristi prompt "..." da naznači da čeka na daljnji unos. Da bismo mu rekli da smo završili, moramo uneti prazan red.

(Primer sa granama iz nekog razloga razbija oznake na čvorištu, uprkos plesovima sa oznakama pre i koda. Izvinite na neprijatnosti, bacio sam ga ovde pastebin.com/f66af97ba, ako mi neko kaže šta nije u redu, ja ću budi veoma zahvalan)

Ciklusi.

Najjednostavniji slučaj petlje je while petlja. Uzima uslov kao parametar i izvršava se sve dok je istinit.
Evo malog primjera.

>>> x = 0 >>> dok je x<=10: ... print x ... x += 1 ... 0 1 2 ........... 10

Imajte na umu da pošto su i print x i x+=1 napisani istim uvlačenjem, oni se smatraju tijelom petlje (sjećate se šta sam rekao o blokovima? ;-)).

Drugi tip petlje u Pythonu je for petlja. Slično je foreach petlji u drugim jezicima. Njegova sintaksa je otprilike sljedeća.

Za varijablu na listi:
timovi

Sve vrijednosti sa liste bit će dodijeljene varijabli zauzvrat (zapravo, ne može postojati samo lista, već i bilo koji drugi iterator, ali nemojmo brinuti o tome za sada).

Evo jednostavnog primjera. Lista će biti string, koji nije ništa drugo do lista znakova.

>>> x = "Zdravo, Python!" >>> za char u x: ... ispis char ... H e l ........... !

Na ovaj način možemo razložiti niz na znakove.
Šta učiniti ako nam je potrebna petlja koja se ponavlja određeni broj puta? Vrlo je jednostavno, funkcija raspona će priskočiti u pomoć.

Na ulazu uzima od jednog do tri parametra, na izlazu vraća listu brojeva kroz koje možemo „proći“ sa for operatorom.

Evo nekoliko primjera upotrebe funkcije raspona koji objašnjavaju ulogu njenih parametara.

>>> raspon (10) >>> raspon (2, 12) >>> raspon (2, 12, 3) >>> raspon (12, 2, -2)

I mali primjer sa petljom.

>>> za x u rasponu(10): ... ispis x ... 0 1 2 ..... 9

Ulaz Izlaz

Posljednja stvar koju biste trebali znati prije nego što počnete koristiti Python u potpunosti je kako se u njemu izvodi ulaz-izlaz.

Za izlaz se koristi naredba print, koja ispisuje sve svoje argumente u ljudskom čitljivom obliku.

Za unos na konzoli koristi se funkcija raw_input(prompt), koja prikazuje prompt i čeka na korisnički unos, vraćajući ono što je korisnik unio kao svoju vrijednost.

X = int(raw_input("Unesite broj:")) print "Kvadrat ovog broja je ", x * x

Pažnja! Unatoč postojanju funkcije input() sa sličnom radnjom, nije preporučljivo koristiti je u programima, jer interpretator pokušava izvršiti sintaktičke izraze unesene pomoću nje, što predstavlja ozbiljnu rupu u sigurnosti programa.

To je to za prvu lekciju.

Zadaća.

1. Napravite program za izračunavanje hipotenuze pravouglog trougla. Dužina nogavica se traži od korisnika.
2. Napravite program za pronalaženje korijena kvadratne jednadžbe u opštem obliku. Koeficijenti se traže od korisnika.
3. Kreirajte program za prikaz tablice množenja brojem M. Tabela se kompajlira od M * a, do M * b, gdje su M, a, b traženi od korisnika. Izlaz bi trebao biti izveden u koloni, jedan primjer po redu u sljedećem obliku (na primjer):
5 x 4 = 20
5 x 5 = 25
I tako dalje.

Program je skup algoritama koji osiguravaju izvođenje potrebnih radnji. Uobičajeno, obična osoba se može programirati na isti način pisanjem preciznih komandi tako da, na primjer, priprema čaj. Ako potonja opcija koristi prirodni govor (ruski, ukrajinski, engleski, korejski itd.), Tada će računaru trebati poseban programski jezik. Python je jedan od njih. Programsko okruženje će naknadno prevesti komande u i ljudski cilj za koji je algoritam kreiran biće ispunjen. Python ima svoju sintaksu, o kojoj će biti riječi u nastavku.

Istorija jezika

Razvoj je započeo 1980-ih i završio 1991. Jezik Python kreirao je Guido van Rossum. Iako je glavni simbol Pythona zmija, ime je dobila po američkoj humorističnoj emisiji.

Prilikom kreiranja jezika, programer je koristio neke komande posuđene iz postojećih Pascal, C i C++. Nakon što je prva zvanična verzija izašla na internet, čitava grupa programera se pridružila njenom usavršavanju i poboljšanju.

Jedan od faktora koji je omogućio da Python postane prilično poznat je njegov dizajn. Mnogi vrlo uspješni stručnjaci prepoznaju ga kao jednog od najboljih.

Karakteristike Pythona

Programski jezik Python će biti odličan učitelj za početnike. Ima prilično jednostavnu sintaksu. Biće lako razumjeti kod, jer ne uključuje mnogo pomoćnih elemenata, a posebna struktura jezika će vas naučiti kako da uvučete. Naravno, dobro osmišljen program sa malim brojem komandi biće odmah razumljiv.

Mnogi sintaktički sistemi su kreirani korišćenjem objektno orijentisanog programiranja. Python nije izuzetak. Zašto je tačno rođen? Početnicima će olakšati učenje i pomoći će već kvalificiranim zaposlenicima da zapamte neke elemente.

Sintaksa jezika

Kao što je već spomenuto, kod je prilično lak i jednostavan za čitanje. Python ima sekvencijalne komande koje su precizne u izvršenju. U principu, korišteni operateri neće se činiti teškim čak ni početnicima. To je ono što Python čini drugačijim. Njegova sintaksa je laka i jednostavna.

Tradicionalni operateri:

  • Kada postavljate uslov, trebali biste koristiti if-else konstrukciju. Ako ima previše takvih linija, možete unijeti naredbu elif.
  • Čas je za razumijevanje časa.
  • Jedan od jednostavnih operatora je pass. Ne radi ništa, odgovara za prazne blokove.
  • Ciklične komande su while i for.
  • Funkcija, metoda i generator su definirani zahvaljujući def.

Pored pojedinačnih reči, programski jezik Python vam omogućava da koristite izraze kao operatore. Koristeći lance nizova, možete smanjiti broj zasebnih naredbi i zagrada. Koriste se i takozvani lijeni proračuni, odnosno oni koji se izvode samo kada uvjet to zahtijeva. To uključuje i i ili.

Proces pisanja programa

Interpretator radi na jednom mehanizmu: kada napišete red (nakon čega stavite “Enter”), on se odmah izvršava i osoba već može vidjeti neki rezultat. Ovo će biti dovoljno korisno i zgodno za početnike ili one koji žele testirati mali dio koda. U kompajliranim okruženjima, prvo biste morali napisati cijeli program, a tek onda ga pokrenuti i provjeriti ima li grešaka.

Programski jezik Python (za početnike, kao što je već postalo jasno, idealan je) u Linux operativnom sistemu omogućava vam da radite direktno u samoj konzoli. Trebalo bi da napišete naziv Python koda na engleskom na komandnoj liniji. Neće biti teško napraviti svoj prvi program. Prije svega, vrijedi uzeti u obzir da se tumač ovdje može koristiti kao kalkulator. Budući da mladi i početnici specijalisti često nisu zadovoljni sintaksom, algoritam možete napisati na sljedeći način:

Nakon svakog reda morate staviti “Enter”. Odgovor će se prikazati odmah nakon što kliknete na njega.

Podaci koje koristi Python

Podaci koje koriste računari (i programski jezici) dolaze u nekoliko vrsta, i to je sasvim očigledno. Brojevi mogu biti razlomki, cjelobrojni, mogu se sastojati od više cifara ili mogu biti prilično masivni zbog razlomka. Da bi se prevodiocu olakšalo rad s njima i da bi razumio o čemu ima posla, treba navesti konkretan tip. Štaviše, potrebno je da se brojevi uklapaju u dodijeljenu memorijsku ćeliju.

Najčešći tipovi podataka koje koristi programski jezik Python su:

  • Integer. Govorimo o cijelim brojevima koji imaju i negativne i pozitivne vrijednosti. Nula je također uključena u ovaj tip.
  • Da bi interpretator shvatio da radi sa razlomcima, tip bi trebao biti postavljen na float point. U pravilu se koristi kada se koriste brojevi s promjenjivom tačkom. Treba imati na umu da kada pišete program, morate se držati oznake "3.25" i ne koristiti zarez "3.25".
  • U slučaju dodavanja stringova, programski jezik Python vam omogućava da dodate tip stringa. Često se riječi ili fraze nalaze u jednom ili

Nedostaci i prednosti

U posljednjih nekoliko decenija ljudi su bili više zainteresirani da provode više vremena savladavajući podatke, a manje vremena da ih obrađuju kompjuteri. Jezik o kojem postoje samo pozitivne stvari je najviši kod.

Python praktično nema nedostataka. Jedini ozbiljan nedostatak je sporost izvođenja algoritma. Da, ako ga uporedite sa "C" ili "Java", to je, iskreno govoreći, kornjača. To se objašnjava činjenicom da je ovo

Programer se pobrinuo da doda najbolje stvari u Python. Stoga, kada ga koristite, možete primijetiti da je apsorbirao najbolje karakteristike drugih viših programskih jezika.

U slučaju da ideja koju implementira tumač nije impresivna, to će biti moguće razumjeti gotovo odmah, nakon što napišete nekoliko desetina redova. Ako je program vrijedan truda, tada se kritični dio može poboljšati u bilo kojem trenutku.

Trenutno više od jedne grupe programera radi na poboljšanju Pythona, tako da nije činjenica da će kod napisan u C++ biti bolji od onog kreiranog pomoću Pythona.

S kojom verzijom je bolje raditi?

Danas se široko koriste dvije verzije takvog sintaksičkog sistema kao što je jezik Python. Za početnike će birati između njih biti prilično teško. Treba napomenuti da je 3.x još uvijek u razvoju (iako je pušten u široku upotrebu), dok je 2.x potpuno završena verzija. Mnogi ljudi savjetuju korištenje 2.7.8, jer praktički ne zaostaje i ne pada. U verziji 3.x nema radikalnih promjena, tako da možete prenijeti svoj kod u programsko okruženje uz ažuriranje u bilo kojem trenutku. Da biste preuzeli potreban program, trebate otići na službenu web stranicu, odabrati svoj operativni sistem i pričekati dok se preuzimanje ne završi.

Koliko programskih jezika zaista postoji? Ima ih nekoliko desetina. Namijenjeni su za različite zadatke, za svaki ukus, veličinu i boju. Zašto sam izabrao baš ovaj jezik? Python je sposoban za obavljanje vrlo širokog spektra zadataka, u rasponu od jednostavne skripte do kreiranja cijelih web stranica. Python za početnike je prilično jednostavan, koncizan i lak za učenje.

Iz ovog članka ćete naučiti:

Hi Hi! Gridin Semyon je u kontaktu. Konačno, došao sam do glavne teme ovog bloga, programiranja inteligentnih sistema koristeći jezik Python. Dugo sam se pripremao za ovo. A sada sam spreman da vam pišem zanimljive članke i detaljno proučavam ovu temu.

Zašto mi ovo treba? Za početak, postavio sam sebi sljedeći zadatak o razvoju mašinskog učenja i kompjuterskog vida.

Možda ako budem imao sreće završim među programerima složenih robotskih projekata, možda i sam postanem organizator i otvorim proizvodnju ličnih robota, ili možda, možda... Ako ništa ne uspije, i Bože blagoslovio ga, uživam u procesu, a ne u rezultatu.

Onda ću početi svoju priču))...

Karakteristike programskog jezika Python

Kao što sam gore napisao, ovaj jezik obavlja veoma širok spektar funkcija. Jednostavno je nemoguće sve pokriti. Stoga, prije nego počnete studirati, postavite sebi pitanje zašto mi je ovo potrebno? Koje ću probleme riješiti koristeći ovaj jezik? Ako ste odgovorili pozitivno, nastavite dalje.

Kako Python može biti koristan?

  1. Rad sa xml/html fajlovima
  2. Rad sa http zahtjevima
  3. GUI (grafički interfejs)
  4. Kreiranje web skripti
  5. Rad sa FTP-om
  6. Rad sa slikama, audio i video datotekama
  7. Robotika (upotreba jednoslojnih računara)
  8. Matematičko i naučno računarsko programiranje

itd. Python je sposoban obaviti lavovski dio rutinskih zadataka.

U Pythonu možete kreirati sigurnosne kopije, raditi s e-poštom, jednostavan kalkulator i skriptu za web stranicu. Jezik nije ničim ograničen. Ono što je najzanimljivije je da ga koriste IT giganti kao što su Google i Yandex.

U ovom članku ćemo vas provesti kroz Python programiranje od nule.

Da bi program radio na određenom uređaju, nije bitno koji OS - windows, linux, RaspbianOS, MacOS. Važno je da imate tumača koji će razumjeti komande i izvršiti ih.

Uradite sljedeće: preuzmite python IDE c zvanični izvor.

Upoznavanje prevodioca

Dakle, tumač obrađuje tekstualni kod programa. Postoji način interaktivnog razvojnog okruženja. Možete ga pokrenuti na nekoliko načina:

  1. Iz obične cmd komandne linije unesite naredbu python ;
  2. Sa radne površine (prečica);
  3. Korišćenje menija Start - Python IDLE;

Ovaj prozor će vam se otvoriti:

Inače, školjka se može koristiti i kao običan kalkulator. Ovaj softver vidim kao priliku za otključavanje punog potencijala jednostrukih računara.

Arduino takođe ima sopstvenu softversku školjku. Čitati.

Gdje početi učiti Python? Hajde da pokušamo da napišemo prvi program?

Kreiranje prvog programa

Python program je običan tekstualni fajl sa napisanim kodom. Ekstenzija ove datoteke je .py. Program možete pokrenuti tako što ćete navesti odgovarajuće ime u komandnoj liniji. Hajde da napišemo najjednostavniji standardni program “Zdravo, svijete!”

Zadatak je da se na ekranu prikaže “Hello world!”. Pokrenite NotePad.

Pišemo sljedeći kod:

Python

print("Zdravo svijet!!!")

print("Zdravo svijet!!!" )

I sačuvajte ga u fasciklu koja sledi putanju C:\MyScripts. Preporučujem da sve projekte stavite u ovaj folder.

Da bismo pokrenuli skriptu, odaberite komandnu liniju i unesite putanju do vašeg fajla:

O knjigama. U stvari, iako je jezik jednostavan u smislu kreiranja koda, postoji mnogo nijansi i raznih biblioteka za implementaciju ogromnog spektra zadataka.

Najboljom knjigom o pythonu za početnike smatra se tutorijal Mikea McGratha. Sveobuhvatan vodič za pisanje Python koda.

Izvinjavam se zbog kvaliteta fotografije, drugačije ne radi. Ne preporučujem kupovinu ostalih knjiga, jer su zapravo glomazne i glomazne. McGrath će biti dovoljan kao osnova.

Momci, to je sve za mene, ako imate pitanja, uvijek mi možete pisati. Pretplatite se na vijesti bloga. Pošaljite ga svojim prijateljima. Hvala vam na pažnji.

Srdačan pozdrav, Gridin Semyon

Ovaj materijal je namenjen onima koji su već upoznati sa programiranjem i žele da savladaju programski jezik Python. Dizajniran je da vam za 10 minuta pokaže karakteristike jezika Python, karakteristike sintakse i osnovne principe rada sa Pythonom koristeći primjere. Ovdje nema "vode" - informacija koje nisu direktno povezane s programskim jezikom. 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, ne možete oduzeti skup od niza), dinamički koristi se kucanje - svi tipovi se otkrivaju tokom izvršavanja programa.

Deklarisanje varijabli je opciono, 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.

Dobivanje pomoći

Pomoć (pomoć) u Pythonu je uvijek dostupna direktno u tumaču. Ako želite znati kako objekt funkcionira, pozovite pomoć ( ). Još jedna 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šne blokove (kao što su deklaracije klase ili funkcije, na primjer) — blokovi se definiraju pomoću uvlačenja. Povećajte udubljenje na početku bloka, smanjite ga na kraju bloka. Izjave koje zahtijevaju uvlačenje završavaju se dvotočkom (:). Ako još nemate kod nakon naredbe početka bloka, umetnite naredbu pass da prođete provjeru sintakse.

Dok rang lista == 1: prolaz

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

Vrijednosti se dodjeljuju pomoću znaka jednakosti (“=”) (objekti se zapravo imenuju u procesu).

Test razlike se izvodi sa dva jednaka simbola ("==").

Možete povećati vrijednost pomoću += operatora i smanjiti je sa -= tako što ćete navesti varijablu na lijevoj strani i 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

Python pruža tipove podataka kao što su liste, tuple i rječnici. Dostupni su i setovi, koristeći modul skupova 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" mijenjamo 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 dobiti isječak niza (lista ili tuple) koristeći dvotočku (:). Ako početnu vrijednost indeksa ostavite praznu, to će značiti počevši od prve vrijednosti; ako ostavite praznu vrijednost završnog indeksa, označit će posljednji element niza. Negativni indeksi se broje unatrag od kraja niza (-1 će pokazivati ​​na 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. Ovo vam omogućava da imate navodnike unutar niza označene apostrofima (na primjer, 'Rekao je "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 (u) znak za označavanje niza koji sadrži unikod: u"Ovo je unicode string." Svi stringovi Python3 sadrže Unicode. Ako vam je u Python3 potreban niz bajtova, koji je u prethodnim verzijama u suštini bio string, koristi se simbol (b): b"Ovo je niz bajtova".

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

>>>print "Ime: %s\ Broj: %s\ String: %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

If, for i while izrazi se koriste za kontrolu redoslijeda u kojem se program izvršava. U Pythonu ne postoji prekidač ili velika veličina; umjesto toga se koristi if. For se koristi za iteraciju kroz elemente liste (ili tuple). Da biste dobili niz brojeva, koristite raspon ( ) . Da biste prekinuli izvođenje petlje, koristi se break.

Sintaksa za ovu konstrukciju je sljedeća:

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" počinje sljedeću # iteraciju petlje. Ovdje je prilično beskorisno, # jer je to zadnja 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 se pojavljuju u deklaraciji funkcije nakon potrebnih i dodjeljuje im se zadana vrijednost. Kada pozivate funkciju, možete proslijediti argumente tako što ćete specificirati njihovo ime i vrijednost, dok izostavljate neke od neobaveznih argumenata ili ih raspoređujete u redoslijedu različitom od onog deklariranog u funkciji.

Funkcije mogu vratiti tuple i korištenjem otpakiranja tuple možete vratiti više vrijednosti.

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

Parametri se prosljeđuju putem reference. Dodavanjem elemenata na propuštenu 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đivanjem prenosi 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") >>> moja_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 ne provjerava interpretator) 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() >> > classesinstance.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 u klasi, # umjesto toga će povezati novi objekat sa starim imenom # 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 prenosi automatski # i odnosi se na instancu klase, tako da možete postaviti # varijable instance kao gore, ali iznutra klase. 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 prilagođenih funkcija.

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

Rad sa datotekama 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 naziva 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 konstruirati 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 lokalna varijabla:
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 nije namijenjen da bude sveobuhvatan vodič za Python. Programski jezik Python ima ogroman broj biblioteka i različitih funkcionalnosti sa kojima ćete se upoznati dok nastavite da radite sa jezikom i proučavate dodatne izvore.

Ako vam predstavljene informacije nisu dovoljne, pogledajte prošireni materijal koji opisuje programski jezik Python - on pruža informacije o jeziku detaljnije.

Između ostalog, 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.

Jednom davno, na zatvorenom forumu, pokušao sam da podučavam Python. Generalno, tu su stvari zastale. Bilo mi je žao napisanih lekcija, pa sam odlučio da ih objavim široj javnosti. Do sada prvi, najjednostavniji. Ono što se dalje dešava je zanimljivije, ali možda neće biti zanimljivo. Općenito, ovaj post će biti probni balon, ako vam se sviđa, objavit ću ga dalje.

Python za početnike. Prvo poglavlje. "o čemu pričamo"

Za svaki slučaj, malo dosadno “evangelizacija”. Ako ste umorni od njega, možete preskočiti nekoliko pasusa.
Python (izgovara se "Python" umjesto "python") je skriptni jezik koji je razvio Guido van Rossum kao jednostavan jezik koji je lak za učenje za početnike.
Danas je Python široko korišten jezik koji se koristi u mnogim područjima:
- Razvoj aplikativnog softvera (na primjer, Linux uslužni programi yum, pirut, system-config-*, Gajim IM klijent i mnogi drugi)
- Razvoj web aplikacija (na njegovoj osnovi razvijen je najmoćniji aplikacijski server Zope i CMS Plone na kojem npr. radi CIA web stranica, te mnoštvo okvira za brzi razvoj aplikacija Plones, Django, TurboGears i mnogi drugi)
- Koristi se kao ugrađeni skriptni jezik u mnogim igrama, a ne samo (u Office paketu OpenOffice.org, Blender 3d editor, Postgre DBMS)
- Upotreba u naučnim proračunima (sa SciPy i numPy paketima za proračune i PyPlot za crtanje grafova, Python postaje skoro uporediv sa paketima kao što je MatLab)

I ovo, naravno, nije potpuna lista projekata koji koriste ovaj divan jezik.

1. Sam tumač, možete ga nabaviti ovdje (http://python.org/download/).
2. Razvojno okruženje. Nije potrebno započeti, a IDLE uključen u distribuciju je pogodan za početnika, ali za ozbiljne projekte treba vam nešto ozbiljnije.
Za Windows koristim divan lagani PyScripter (http://tinyurl.com/5jc63t), za Linux - Komodo IDE.

Iako će za prvu lekciju biti dovoljna samo interaktivna ljuska Pythona.

Samo pokrenite python.exe. Prompt za unos neće trebati dugo da se pojavi, izgleda ovako:

Takođe možete pisati programe u datoteke sa ekstenzijom py u svom omiljenom uređivaču teksta, koji ne dodaje sopstvene znakove za označavanje u tekst (nijedan Word neće raditi). Takođe je poželjno da ovaj uređivač može da pravi „pametne tabove“ i da ne zamenjuje razmake tabulatorima.
Da biste pokrenuli datoteke za izvršenje, možete dvaput kliknuti na njih. Ako se prozor konzole zatvori prebrzo, umetnite sljedeći red na kraj programa:

Zatim će prevodilac čekati da pritisnete enter na kraju programa.

Ili povežite py datoteke u Far sa Pythonom i otvorite ih pritiskom na enter.

Konačno, možete koristiti jedan od mnogih praktičnih IDE-a za Python, koji pružaju mogućnosti otklanjanja grešaka, isticanje sintakse i mnoge druge „pogodnosti“.

Malo teorije.

Za početak, Python je jako dinamički ukucan jezik. Šta to znači?

Postoje jezici sa jakim kucanjem (pascal, java, c itd.), u kojima je tip varijable određen unapred i ne može se menjati, a postoje jezici sa dinamičkim kucanjem (python, ruby, vb ), u kojem se tip varijable tumači u zavisnosti od dodijeljene vrijednosti.
Dinamički kucani jezici mogu se podijeliti na još 2 tipa. Stroge, koje ne dozvoljavaju implicitnu konverziju tipa (Python), i one labave, koje izvode implicitne konverzije tipova (na primjer, VB, u koji možete lako dodati string "123" i broj 456).
Nakon što smo se pozabavili Pythonovom klasifikacijom, pokušajmo se malo "poigrati" s interpretatorom.

>>> a = b = 1 >>> a, b (1, 1) >>> b = 2 >>> a, b (1, 2) >>> a, b = b, a >>> a , b (2, 1)

Dakle, vidimo da se dodjela vrši pomoću znaka =. Možete dodijeliti vrijednost nekoliko varijabli odjednom. Kada navedete ime varijable interpretatoru interaktivno, on ispisuje njenu vrijednost.

Sljedeće što trebate znati je kako se konstruiraju osnovne algoritamske jedinice - grane i petlje. Za početak je potrebna mala pomoć. U Pythonu ne postoji poseban graničnik za blokove koda; uvlačenje služi njihovoj ulozi. To jest, ono što je napisano sa istim uvlačenjem je jedan komandni blok. U početku ovo može izgledati čudno, ali nakon što se malo naviknete, shvatite da vam ova “prisilna” mjera omogućava da dobijete vrlo čitljiv kod.
Dakle, uslovi.

Uvjet je specificiran korištenjem if naredbe koja završava sa “:”. Alternativne uslove koji će biti ispunjeni ako prva provjera ne uspije specificira elif operator. Konačno, else specificira granu koja će se izvršiti ako nijedan od uslova nije ispunjen.
Imajte na umu da nakon što unese if, tumač koristi prompt "..." da naznači da čeka na daljnji unos. Da bismo mu rekli da smo završili, moramo uneti prazan red.

(Primer sa granama iz nekog razloga razbija oznake na čvorištu, uprkos plesovima sa oznakama pre i koda. Izvinite na neprijatnosti, bacio sam ga ovde pastebin.com/f66af97ba, ako mi neko kaže šta nije u redu, ja ću budi veoma zahvalan)

Ciklusi.

Najjednostavniji slučaj petlje je while petlja. Uzima uslov kao parametar i izvršava se sve dok je istinit.
Evo malog primjera.

>>> x = 0 >>> dok je x<=10: ... print x ... x += 1 ... 0 1 2 ........... 10

Imajte na umu da pošto su i print x i x+=1 napisani istim uvlačenjem, oni se smatraju tijelom petlje (sjećate se šta sam rekao o blokovima? ;-)).

Drugi tip petlje u Pythonu je for petlja. Slično je foreach petlji u drugim jezicima. Njegova sintaksa je otprilike sljedeća.

Za varijablu na listi:
timovi

Sve vrijednosti sa liste bit će dodijeljene varijabli zauzvrat (zapravo, ne može postojati samo lista, već i bilo koji drugi iterator, ali nemojmo brinuti o tome za sada).

Evo jednostavnog primjera. Lista će biti string, koji nije ništa drugo do lista znakova.

>>> x = "Zdravo, Python!" >>> za char u x: ... ispis char ... H e l ........... !

Na ovaj način možemo razložiti niz na znakove.
Šta učiniti ako nam je potrebna petlja koja se ponavlja određeni broj puta? Vrlo je jednostavno, funkcija raspona će priskočiti u pomoć.

Na ulazu uzima od jednog do tri parametra, na izlazu vraća listu brojeva kroz koje možemo „proći“ sa for operatorom.

Evo nekoliko primjera upotrebe funkcije raspona koji objašnjavaju ulogu njenih parametara.

>>> raspon (10) >>> raspon (2, 12) >>> raspon (2, 12, 3) >>> raspon (12, 2, -2)

I mali primjer sa petljom.

>>> za x u rasponu(10): ... ispis x ... 0 1 2 ..... 9

Ulaz Izlaz

Posljednja stvar koju biste trebali znati prije nego što počnete koristiti Python u potpunosti je kako se u njemu izvodi ulaz-izlaz.

Za izlaz se koristi naredba print, koja ispisuje sve svoje argumente u ljudskom čitljivom obliku.

Za unos na konzoli koristi se funkcija raw_input(prompt), koja prikazuje prompt i čeka na korisnički unos, vraćajući ono što je korisnik unio kao svoju vrijednost.

X = int(raw_input("Unesite broj:")) print "Kvadrat ovog broja je ", x * x

Pažnja! Unatoč postojanju funkcije input() sa sličnom radnjom, nije preporučljivo koristiti je u programima, jer interpretator pokušava izvršiti sintaktičke izraze unesene pomoću nje, što predstavlja ozbiljnu rupu u sigurnosti programa.

To je to za prvu lekciju.

Zadaća.

1. Napravite program za izračunavanje hipotenuze pravouglog trougla. Dužina nogavica se traži od korisnika.
2. Napravite program za pronalaženje korijena kvadratne jednadžbe u opštem obliku. Koeficijenti se traže od korisnika.
3. Kreirajte program za prikaz tablice množenja brojem M. Tabela se kompajlira od M * a, do M * b, gdje su M, a, b traženi od korisnika. Izlaz bi trebao biti izveden u koloni, jedan primjer po redu u sljedećem obliku (na primjer):
5 x 4 = 20
5 x 5 = 25
I tako dalje.

Najbolji članci na ovu temu