Kako podesiti pametne telefone i računare. Informativni portal
  • Dom
  • Savjeti
  • Kako Python radi? Sintaksa jezika Python.

Kako Python radi? Sintaksa jezika Python.

Programski jezik Python je jezik visokog nivoa opšte namene. Može se ugraditi i proširiti. Na primjer, uključen je u neke aplikacije kao makro alat. Ova funkcija čini programski jezik Python pametnim izborom za mnoge programske zadatke. Gdje ga je najbolje koristiti? Python je odličan za projekte koji zahtijevaju brz razvoj. Ovaj programski jezik podržava nekoliko paradigmi. Ovo je posebno dobro za programe koji zahtijevaju fleksibilnost. Mnogo modula i paketa štedi vrijeme i pruža svestranost. Tvorac jezika Python je Guido van Rossum. Svojevremeno ga je zajednica počastila titulom "doživotnog dobronamjernog diktatora". Guido je krajem 80-ih volio karakteristike nekoliko programskih jezika. Međutim, nijedan od ovih jezika nije imao mogućnosti koje bi on želio imati. Tako, na primjer, jezik bi trebao imati sljedeće karakteristike:

- skriptni jezik. Skripta je program koji se koristi za kontrolu drugih programa. Skriptni jezici se mogu koristiti za izradu prototipa i brzi razvoj. Iz tog razloga, oni su odlični u prosljeđivanju podataka s jedne komponente na drugu i spašavaju programere od komplikovanih stvari poput upravljanja memorijom. Programeri Python nazivaju dinamičkim programskim jezikom.

— uvlačenje za operatore grupisanja. Programski jezik Python određuje da li izrazi pripadaju istoj grupi koristeći uvlačenje. Ova grupa se zove blok koda. Drugi programski jezici koriste drugačiju interpunkciju i sintaksu. Tako, na primjer, u C-u simbol "(" označava početak niza naredbi. Uvlačenje je dobra praksa u drugim programskim jezicima. Međutim, jedan od prvih programskih jezika koji provodi uvlačenje je Python. Prije svega, uvlačenje čini kod lakšim za čitanje. Blokovi koda zahtijevaju manje označavanja početka i kraja, što znači da će biti manje znakova interpunkcije u kodu koji se lako mogu propustiti, a sve to dovodi do manjeg broja grešaka u kodu.

- tipovi podataka visokog nivoa. Lični računari pohranjuju podatke u nulama i jedinicama. Međutim, ljudima su potrebni složeniji oblici skladištenja informacija, poput teksta. Ako jezik podržava složene podatke, kaže se da podržava tipove podataka visokog nivoa. Lako je raditi sa takvim tipovima podataka. U Pythonu, na primjer, nizovi se mogu spojiti ili podijeliti, konvertirati u mala ili velika slova, pretraživati ​​i tako dalje. Tipovi podataka visokog nivoa kao što su rječnici i liste, koji mogu pohraniti druge podatke, imaju više funkcionalnosti.

- proširivost. Proširivost znači da se programski jezik može proširiti. Proširivi programski jezici su veoma moćni. Dodaci ih čine pogodnim za veliki broj operativnih sistema i aplikacija. Ekstenzije mogu dodati nove tipove podataka, dodatke i module. Postoji nekoliko načina za proširenje u Pythonu. Glavna grupa programera radi na njegovom poboljšanju i promjeni. Stotine drugih pišu module za posebne svrhe.

- tumačenje. Izvršava interpretirane jezike direktno iz izvornog koda koji su napisali ljudi. Programi napisani na kompajliranim jezicima kao što je C++ moraju se prevesti u mašinski kod. U pravilu, interpretirani programski jezici su sporiji jer prijevod nije trenutan. Međutim, otklanjanje grešaka i pisanje samih programa je primetno brže, jer nema potrebe da čekate da kompajler završi sa radom. Interpretirani programski jezici su lakše prenosivi na različite platforme. Može se dugo raspravljati da li je Python kompajlirani ili interpretirani jezik. Uprkos činjenici da ovaj programski jezik u mnogim aspektima radi kao interpretirani, njegov kod se kompajlira prije izvršenja. Mnoge njegove komponente rade punom brzinom računara jer su napisane u C.

Gvido je počeo da piše jezik Python tokom svog odmora 1989. Tokom naredne godine usavršavao je jezik, fokusirajući se na povratne informacije od kolega. Rezultat se pojavio pred širom javnosti 1991. godine. Tada je objavljena na jednoj od Usenet news grupa.

Python za početnike

Prije nego počnete pisati programe u Python-u, morate ga instalirati. Postoje značajne razlike između Pythona 3.5 i Pythona 2.7. Zbog njih su programi koji su napisani na njima nekompatibilni. Ovaj jezik je unapred instaliran na Macintosh računarima. Njegova verzija zavisi od starosti operativnog sistema. Ako koristite Windows, moraćete sami da instalirate Python na računar. Možete odabrati datoteke instalacionog paketa direktno sa Python.org

Načini interakcije

Jedan od razloga za jednostavnost koju donosi Python programiranje je taj što dolazi u paketu sa alatima koji mogu pisati, razvijati i otklanjati greške u programima. Komande u interaktivnom režimu unose se jedan po red. Ovaj proces je sličan načinu na koji operativni sistem percipira komande iz komandne linije. Također možete kreirati kratke višelinijske programe ili uvesti kod iz tekstualnih datoteka ili Python modula. Za početnike će svakako biti korisno znati da interaktivni način rada uključuje opsežan sistem pomoći. Ova metoda je vrlo pogodna za učenje mogućnosti programskog jezika. IDLE razvojno okruženje uključuje alate za pisanje i pokretanje programa, sistem za praćenje imena. Ovo okruženje je napisano u programskom jeziku Python. On demonstrira široke mogućnosti ovog jezika.

interaktivni način rada

U interaktivnom načinu možete raditi gotovo sve isto kao u programu. Ovdje čak možete napisati i višelinijske kodove. Ovaj način rada može se koristiti kao sandbox za sigurne eksperimente. Osim toga, interaktivni način rada može djelovati kao okruženje za učenje Python programiranja. Može se koristiti i kao alat za pronalaženje i ispravljanje grešaka. Treba imati na umu da je nemoguće sačuvati informacije koje su unesene interaktivno. Da biste to učinili, napišite kopiju koda i rezultat u posebnu datoteku. Interaktivni način rada možete koristiti kao kalkulator. Ovdje također možete manipulirati tekstom ili dodijeliti vrijednosti varijablama. Također je moguće uvesti module, funkcije ili dijelove programa za njihovo testiranje. Sve ovo omogućava eksperimentisanje sa Python objektima bez potrebe za pisanjem dugih programa. Takođe nema potrebe za otklanjanjem grešaka u programima uvozom njihovih delova jedan po jedan.

Rad u interaktivnom modu

Nakon što se Python pokrene, prozor terminala će prikazati informacije o verziji programa koji se koristi, datumu njegovog izdavanja. Također će biti nekoliko savjeta za dalje radnje i upit za unos: >>>. Da biste započeli rad u interaktivnom režimu, potrebno je da unesete izraz i naredbu i pritisnete dugme enter. Python bi zatim trebao protumačiti unesenu naredbu ili odgovoriti na odgovarajući način ako ono što je otkucano ne zahtijeva odgovor. Evo naredbe koja ispisuje string. Budući da lokacija ispisa nije navedena u naredbi, izlaz informacija će se izvršiti na ekranu.

>>> print "Hello World!"

Teško je povjerovati, ali ova jedina linija je program. Python interaktivno obrađuje svaki red unesenog koda nakon što se pritisne tipka Enter. Rezultat će se pojaviti ispod.

Pregled informacija o objektu

U interaktivnom načinu rada, postoje dva načina koji se mogu koristiti za pregled informacija o objektu:

— unesite naziv objekta i pritisnite tipku enter;

- unesite komandu Print, naziv objekta i pritisnite Enter.

Rezultat će ovisiti o objektu koji odaberete. Kada koristite određene tipove podataka, ove dvije metode mogu dati potpuno isti rezultat.

>>>x=

>>>štampaj x

Rezultat kucanja naredbe "print name" bit će malo drugačiji od rezultata koji je dobiven unosom imena. Vrijednost je u prvom slučaju zatvorena u navodnicima, ali ne i u drugom.

>>> x="MySrting"

U slučajevima kada se naziv odnosi na cijeli blok koda, unos imena će dati informacije o vrsti podataka, njihovom nazivu i mjestu pohranjivanja.

Sljedeći primjer daje naredbu za kreiranje klase pod nazivom Poruka i prikazuje informacije o njoj:

>>> poruka razreda:

>>> poruka

>>> štampaj poruku

Stringovi u Pythonu

U programskom jeziku Python, nizovi su nizovi znakova. Literal stringa se kreira zatvaranjem znakova u jednostruke, dvostruke ili trostruke navodnike. Varijabli u primjeru je dodijeljena vrijednost x.

>>>x= "Moj niz"

Python string ima nekoliko ugrađenih mogućnosti. Jedna takva karakteristika je mogućnost vraćanja kopije stringa malim slovima. Ove karakteristike su poznate kao metode. Da biste pozvali metodu na objektu, morate koristiti sintaksu tačke. To znači da nakon unosa imena varijable, koje je u ovom slučaju referenca na string objekat, morate staviti operator tačke - (.). Nakon toga slijedi naziv metode, nakon čega slijedi otvaranje ili zatvaranje zagrada.

>>>x.lower()

Koristeći operator indeksiranja s[i] možete dobiti samo dio niza. U ovom slučaju, indeksiranje će početi od nule. S vraća prvi znak u nizu, s vraća drugi i tako dalje.

String metode mogu raditi i sa regularnim kodovima i sa Unicode-om. Oni vam omogućavaju da izvršite sljedeće operacije:

- promjena kodiranja (dekodiranje, kodiranje);

- promjena velikih i malih slova (donji, zamjenski, gornji, veliki, naslov);

- brojati (brojati);

- zamjena i pretraga (replace, find, rfind, rindex, index, translate);

- ujedinjenje i podjela (particija, spajanje, split, rpartition, splitlines);

- provjera uslova (endswith, startwith, isalnum, isdigit, isalpha, isspace, istitle, isupper);

- formatiranje (samo, centar, rstring, traka, expandtabs, rjust).

Python: rad sa listama

Dok su stringovi u programskom jeziku Python ograničeni znakovima, liste nisu. Liste su uređene sekvence proizvoljnih objekata, koji mogu uključivati ​​i druge liste. Također je moguće ukloniti, dodati ili promijeniti njihove elemente. Slijede primjeri kako izvršiti ove operacije na listama:

>>> osnove = ['A', 'C', 'G', 'D']

['A', 'C', 'G', 'D']

>>>bases.append('T')

>>> osnove ['A', 'C', 'G', 'D', 'T']

>>> bases.reverse()

>>> osnove ['T', 'D', 'G', 'C', 'A']

'T' >>>

>>>bases.remove('T')

>>>baze ['D', 'G', 'C', 'A']

>>>bases.sort()

['A', 'C', 'G', 'D']

U gornjem primjeru kreirana je lista znakova. Nakon toga, element je dodan na jedan kraj liste. Tada je redoslijed elemenata bio obrnut. Također, elementi su dohvaćeni prema njihovoj poziciji indeksa. Element sa vrijednošću "T" je uklonjen, nakon čega su elementi sortirani. Primjer naredbe za uklanjanje elementa sa liste ilustrira situaciju u kojoj metodi remove() treba dati dodatne informacije. U ovom slučaju, to je bila vrijednost koju je trebalo ukloniti. Pored metoda kao što je remove(), programski jezik Python također ima još jednu sličnu osobinu koja se zove funkcija. Glavna razlika između metode i funkcije je u tome što funkcija nije povezana ni sa jednim određenim objektom.

Funkcije u programskom jeziku Python

U programskom jeziku Python, funkcije se koriste za izvođenje radnji na jednoj ili više vrijednosti. Nakon toga vraćaju rezultat. Python ima veliki broj ugrađenih funkcija. Pogledajmo neke primjere ugrađenih funkcija:

- len () - vraća broj elemenata u nizu;

- lista () - vraća novu listu, koja je inicijalizovana iz neke druge sekvence;

- dir () - vraća listu stringova koji predstavljaju atribute objekta.

Python također ima mogućnost definiranja vlastitih funkcija.

Python je široko korišten programski jezik visokog nivoa koji je dobio ime po poznatoj britanskoj humorističnoj TV emisiji " Leteći cirkus Monty Pythona". Jezik Python je jednostavan po strukturi, a opet neverovatno fleksibilan i moćan. S obzirom da je Python kod lak za čitanje i da nije prestrog u sintaksi, mnogi ga smatraju najboljim uvodnim programskim jezikom.

Python je opis jezika koji je dat Fondacija opisuje Python:

Python je interpretirani, interaktivni, objektno orijentisani programski jezik. Uključuje module, izuzetke, dinamičko kucanje, dinamičke tipove podataka visokog nivoa i klase. Python kombinuje odlične performanse sa čistom sintaksom. Implementira interfejse za mnoge sistemske pozive i biblioteke, kao i razne prozorske sisteme, i proširiv je sa C i C++. Python se koristi kao jezik proširenja za aplikacije kojima je potreban programski interfejs. Konačno, Python je višeplatformski jezik: radi na mnogim verzijama Unix-a, na Mac-ovima i na računarima koji koriste MS-DOS, Windows, Windows NT i OS/2.

Koji programski jezik prvo naučiti?

Možete početi učiti s programskim jezikom Python. Da biste ilustrirali kako se Python razlikuje od drugih uvodnih jezika, sjetite se vremena kada ste bili tinejdžer.

Učenje programiranja sa Pythonom je kao vožnja roditeljskog kombija. Čim napravite nekoliko krugova na parkingu na njemu, počet ćete razumjeti kako voziti automobil.

Pokušavam naučiti programirati sa C ( ili čak asembler) to je kao da učite voziti tako što ćete napraviti minivan svojih roditelja. Bićete zaglavljeni u garaži godinama sastavljajući delove, a kada potpuno razumete kako automobil funkcioniše i budete u stanju da otklonite probleme i predvidite buduće probleme, izgorećete pre nego što sednete za volan.

Prednosti Pythona

Jezik Python za početnike je univerzalan. Pomoću Pythona možete automatizirati radne tokove, praviti web stranice i desktop aplikacije i igre. Usput, potražnja za Python programerima ( PostgreSQL, OOP, Flask, Django) je eksplodirala u posljednjih nekoliko godina u kompanijama kao što su Instagram, Reddit, Tumblr, YouTube i Pinterest.

Jezik visokog nivoa opšte namene

Python je programski jezik visokog nivoa. Koristeći ga, moći ćete kreirati gotovo sve vrste softvera. Ova svestranost održava vas zainteresiranim, dok razvijate programe i rješenja prilagođena vašim interesima, umjesto da zaglavite u divljini jezika brinući o njegovoj sintaksi.

Interpretirani jezik

Programski jezik Python za početnike je razumljiv, što znači da ne morate znati kako kompajlirati kod. Budući da nema koraka kompilacije, performanse su povećane, a vrijeme za uređivanje, testiranje i otklanjanje grešaka je znatno smanjeno. Samo preuzmite IDE ( IDE), upišite svoj kod i kliknite na "Pokreni" ( Trči).

Čitljivost koda je ključna

Pythonova jednostavna, laka za učenje sintaksa naglašava čitljivost i postavlja dobar stil programiranja. Uz Python, možete izraziti svoj koncept s manje linija koda. Ovaj jezik vas takođe tera da razmišljate o logici programa i algoritmima. Zbog toga se često koristi kao skriptni ili integrirajući jezik ( ljepljivi jezik) da poveže postojeće komponente zajedno i napiše velike količine lako čitljivog i izvodljivog koda u kratkim vremenskim periodima.

To je samo zabavno

Ne možete nazvati programski jezik po Monty Pythonu bez smisla za humor. Štaviše, testiranje je urađeno kako bi se uporedilo vrijeme potrebno za pisanje jednostavne skripte na različitim jezicima ( Python, Java, C, J, BASIC):

…Python-u je potrebno manje vremena, manje linija koda i manje koncepata da postignete svoj cilj… I kao vrhunac, Python programiranje je zabavno! Zabavan i čest uspjeh stvara povjerenje i interesovanje kod učenika, koji se bolje pripremaju za dalje učenje jezika Python.

Prijevod članka „Zašto učiti Python? » pripremio je prijateljski projektni tim.

Dobro loše

Budući da je dobro dizajniran programski jezik, Python je vrlo pogodan za rješavanje problema iz stvarnog svijeta koje programeri moraju rješavati svakodnevno. Koristi se u najširem spektru aplikacija - i kao alat za upravljanje drugim softverskim komponentama i za implementaciju nezavisnih programa. Zapravo, raspon uloga koje Python može igrati kao višenamjenski programski jezik je praktički neograničen: može se koristiti za implementaciju

bilo šta - od web stranica i programa za igre do kontrole robota i svemirskih brodova.

Međutim, trenutna upotreba Pythona može se podijeliti u nekoliko širokih kategorija. Sljedećih nekoliko odjeljaka opisuje najčešća područja u kojima se Python danas koristi, kao i alate koji se koriste u svakoj oblasti. Nećemo imati priliku istražiti ovdje spomenute alate. Ako vas nešto od ovoga zanima, pogledajte web stranicu Python projekta za više

Sistemsko programiranje

Python-ov ugrađeni interfejs za pristup uslugama operativnog sistema čini ga idealnim za kreiranje prenosivih programa i uslužnih programa za sistemsku administraciju (ponekad se nazivaju alati ljuske). Python programi mogu pretraživati ​​datoteke i direktorije, pokretati druge programe, izvoditi paralelna izračunavanja koristeći više procesa i niti i

mnogo više.

Python standardna biblioteka je u potpunosti usklađena sa POSIX standardima i podržava sve tipične alate operativnog sistema: varijable okruženja, datoteke, utičnice, cijevi, procesi, višenitni model izvršavanja, podudaranje uzoraka pomoću regularnih izraza, argumente komandne linije, standardna sučelja za pristup tokovima podataka , pokretanje komandi ljuske, dovršavanje naziva datoteka i još mnogo toga

Osim toga, Python-ova sistemska sučelja su dizajnirana da budu prenosiva, na primjer, skriptu za kopiranje stabla direktorija ne treba mijenjati, bez obzira na kojem operativnom sistemu se koristi. Stackless Python sistem koji koristi EVE Online također nudi napredna rješenja za paralelnu obradu.

GUI

Python-ova jednostavnost i velika brzina razvoja čine ga odličnim alatom za razvoj GUI-ja. Python dolazi sa standardnim objektno orijentisanim interfejsom za Tk GUI API koji se zove tkinter (u Pythonu 2.6 se zove Tkinter) koji omogućava Python programima da implementiraju prenosivi GUI sa izgledom i osećajem operativnog sistema. Grafički interfejsi zasnovani na Python-u/

tkinter se može koristiti bez modifikacija na MS Windows, X Window (na jedno-racionalnim UNIX i Linux sistemima) i Mac OS (klasični i OS X). Paket proširenja PMW koji se može slobodno distribuirati sadrži dodatne vizualne komponente za tkinter paket. Dodatno, wxPython GUI API, zasnovan na biblioteci C++, pruža alternativni skup alata za izgradnju prenosivih Python GUI-ja.

Alati visokog nivoa kao što su PythonCard i Dabot su izgrađeni na API-jima kao što su wxPython i tkinter. Odabirom odgovarajuće biblioteke, moći ćete koristiti i druge GUI alate kao što su Qt (koristeći PyQt), GTK (koristeći PyGtk), MFC (koristeći PyWin32), .NET (koristeći IronPython), Swing (koristeći Jython) - implementacija jezika Python u Javi, koja je opisana u poglavlju 2, ili JPype). Za razvoj aplikacija zasnovanih na webu ili low-end aplikacija, možete koristiti Jython, Python web okvire i CGI skripte, koji su opisani u sljedećem odjeljku i pružaju dodatne mogućnosti korisničkog sučelja.

Web Scenarios

Python interpreter dolazi sa standardnim internet modulima koji omogućavaju programima da izvode različite mrežne operacije u klijentskom i serverskom načinu. Skripte mogu komunicirati preko utičnica, izdvajati informacije iz obrazaca koji se šalju u CGI skripte na strani servera; prijenos datoteka putem FTP-a; proces XML datoteka; prenositi, primati, kreirati i analizirati

e-poruke; preuzimanje web stranica sa određenih URL-ova; analizirati HTML i XML oznake rezultirajućih web stranica; obavljaju interakcije putem XML-RPC, SOAP i Telnet protokola i još mnogo toga.

Biblioteke uključene u Python čine ovaj zadatak izuzetno lakim.

Osim toga, postoji ogromna kolekcija Python mrežnih alata drugih proizvođača dostupnih na webu. Na primjer, HTMLGen sistem vam omogućava da kreirate HTML stranice na osnovu definicija Python klasa. Paket mod_python je dizajniran za pokretanje Python skripti pod Apache web serverom i podržava šablone motora Python Server Pages. Jython sistem pruža

besprijekornu Python/Java integraciju i podržava serverske aplete koji se pokreću na strani klijenta.

Osim toga, postoje kompletni paketi za web razvoj za Python, kao što su Django, TurboGears, web2py, Pylons, Zope i WebWare, koji podržavaju mogućnost brzog kreiranja potpuno opremljenih, visokokvalitetnih web stranica u Pythonu. Mnoge od njih uključuju karakteristike kao što su mapiranje objekata u relaciji, arhitektura modela/pregled/kontroler, skriptovanje na strani servera, šabloniranje i AJAX tehnologije, koje pružaju

kompletna i pouzdana rješenja za razvoj web aplikacija.

Integracija komponenti

Mogućnost integracije softverskih komponenti u jednu aplikaciju koristeći Python je već razmotrena iznad kada smo govorili o Pythonu kao kontrolnom jeziku. Sposobnost Pythona da se proširi i ugradi

sistemi u C i C++ čine ga pogodnim i fleksibilnim jezikom za opisivanje ponašanja drugih sistema i komponenti. Na primjer, integracija sa C bibliotekom omogućava Pythonu da provjeri i pokrene komponente biblioteke, a ugrađivanje Pythona u softverske proizvode omogućava prilagođavanje softverskih proizvoda bez potrebe za ponovnom izradom tih proizvoda ili isporukom sa izvornim kodom.

Alati za generiranje koda kao što su Swing i SIP mogu automatizirati korake povezivanja kompajliranih komponenti u Pythonu za skriptiranje, a Cython dozvoljava programerima da miješaju Python i C kod. COM

na MS Windows, Jython - implementacija Java jezika, IronPython - implementacija zasnovana na .NET-u i razne CORBA implementacije pružaju alternativne načine za organizovanje interakcije sa softverskim komponentama. Na primjer, na Windows operativnom sistemu, Python skripte mogu koristiti platforme za upravljanje aplikacijama kao što su MS Word i Excel.

Aplikacije za baze podataka

Python ima sučelja za sve glavne relacijske baze podataka - Sybase, Oracle, Informix, ODBC, MySQL, PostgreSQL, SQLite i još mnogo toga. U svijetu Python-a postoji i portabilni API baze podataka za pristup SQL bazama podataka iz Python skripti koji objedinjuje pristup različitim bazama podataka. Na primjer, kada se koristi portable API, skripta dizajnirana za rad sa besplatnom MySQL bazom podataka će moći raditi sa drugim sistemima baza podataka (kao što je Oracle) sa malo ili bez izmjena. Sve što treba da se uradi za ovo je da se zameni interfejs niskog nivoa koji se koristi.

Standardni modul pickle implementira jednostavan sistem skladištenja objekata koji dozvoljava programima da spremaju i vraćaju Python objekte u datoteke ili specijalizovane objekte. Također možete pronaći sistem treće strane na webu pod nazivom ZODB.

To je potpuno objektno orijentirana baza podataka

za upotrebu u Python skriptama. Postoje također

alati poput SQLObject i SQLAlchemy koji prikazuju

relacione tabele u model klase Python. Od Pythona 2.5,

SQLite baza podataka je postala standardni dio Pythona.

Rapid Prototyping

U Python programima, komponente napisane u Pythonu i C izgledaju isto. Ovo vam omogućava da prvo prototipirate sisteme u Python-u, a zatim prenesete odabrane komponente na jezike za kompajliranje kao što su C i C++. Za razliku od brojnih drugih alata za izradu prototipa, jezik Python ne zahtijeva da se sistem potpuno prepiše nakon što je prototip fino podešen. Dijelovi sistema koji ne zahtijevaju efikasnost izvršenja koju pruža C++ mogu biti

ostavite ga na jeziku Python, što će uvelike pojednostaviti održavanje i upotrebu takvog sistema.

Matematičko programiranje

i naučno računarstvo

Gore spomenuta matematička ekstenzija NumPy uključuje moćne funkcije kao što su objekti niza, sučelja za standardne matematičke biblioteke i još mnogo toga. Ekstenzija NumPy - integracijom sa matematičkim bibliotekama napisanim u programskim jezicima - pretvara Python u sofisticiran, ali zgodan alat za matematičko programiranje koji često može zamijeniti postojeći kod napisan u tradicionalnim jezicima kompajlera kao što su FORTRAN i C++.

Dodatni matematički alati za proračun za Python podržavaju mogućnost kreiranja efekata animacije i trodimenzionalnih objekata, omogućavaju vam da organizujete paralelne proračune itd. Na primjer, popularne ekstenzije SciPy i ScientificPython pružaju dodatne biblioteke za naučno računanje i koriste prednosti ekstenzije NumPy.

Igre, slike, umjetna inteligencija,

XML roboti i još mnogo toga

Programski jezik Python se može koristiti za širi spektar zadataka nego što se ovdje može spomenuti. Na primjer:

Kreirajte igre i animacije sa

pygame sistemi

Komunicirajte sa drugim računarima putem serijske veze

port koristeći PySerial ekstenziju

Obradi slike sa PIL ekstenzijama, PyOpenGL,

Blender, Maya i još mnogo toga

Upravljajte robotom pomoću PyRo alata

Analizirajte XML dokumente koristeći xml paket, xmlrp-module

clib i ekstenzije treće strane

Programirajte umjetnu inteligenciju pomoću neuro-emulatora

mreže i ljuske ekspertnih sistema

Raščlanite fraze prirodnog jezika koristeći NLTK paket.

Možete čak igrati pasijans s PySol-om. Podrška za mnoga druga područja primjene može se naći na web stranici PyPI ili putem pretraživača (potražite veze koristeći Google ili http://www.python.org).

Uopšteno govoreći, mnoge od ovih upotreba Pythona su samo varijacije iste uloge koja se zove integracija komponenti. Korišćenje Pythona kao interfejsa za biblioteke komponenti napisanih u C-u omogućava kreiranje skripti u Pythonu za rešavanje problema u širokom spektru oblasti primene. Kao višenamenski programski jezik opšte namene koji podržava integraciju, Python može se primeniti veoma široko.

Usput, imate li problema sa napajanjem vašeg laptopa? Savetujemo vam da kupite napajanje za laptop po veoma pristupačnim cenama. Na web stranici kompanije darrom.com.ua pronaći ćete napajanje za bilo koji laptop.

Python- moćan i jednostavan za učenje programski jezik. Pruža zgodne strukture podataka visokog nivoa i jednostavan, ali efikasan pristup objektno orijentisanom programiranju. Python interpretirani jezik. Za pokretanje pisanih programa potreban je CPython interpreter. Python interpreter i velika standardna biblioteka su besplatno dostupni kao izvorni i binarni fajlovi za sve glavne platforme na službenoj web stranici Python http://www.python.org i može se redistribuirati bez ograničenja. Osim toga, stranica sadrži distribucije i linkove na brojne module trećih strana i detaljnu dokumentaciju.
Jezik ima jasnu i dosljednu sintaksu, promišljenu modularnost i skalabilnost, tako da izvorni kod napisan u Python programi su laki za čitanje. Language Developers Python pridržavati se određene filozofije programiranja koja se zove "Zen Pythona". Njegov tekst izlazi od strane tumača koristeći import ovu naredbu:

>>> import this Zen of Python, Tim Peters Lepo je bolje nego ružno. Eksplicitno je bolje nego implicitno. Jednostavno je bolje od složenog. Kompleks je bolji od kompleksa. Stan je bolji od ugniježđenog. Rijetko je bolje nego gusto. Čitljivost se računa. Posebni slučajevi nisu dovoljno posebni da bi prekršili pravila. Iako praktičnost pobjeđuje čistoću. Greške nikada ne bi trebale proći tiho. Osim ako se izričito ne prešućuju. Suočeni s dvosmislenošću, odbijte iskušenje da pogađate. Trebalo bi da postoji jedna - i po mogućnosti samo jedna - - očigledan način da se to uradi. Iako taj način možda neće biti očigledan u početku osim ako niste Holanđanin. Sada je bolje nego nikad. Iako nikad nije često bolje od *trenutno* sada. Ako je implementaciju teško objasniti, to je "loša ideja. Ako je implementacija laka za objasniti, to može biti dobra ideja. Prostori imena su jedna sjajna ideja - hajde da ih uradimo više!

U prevodu zvuči ovako:

  • Lepo je bolje nego ruzno.
  • Eksplicitno je bolje nego implicitno.
  • Jednostavno je bolje od složenog.
  • Bolje je komplikovano nego zbuniti.
  • Stan je bolji od ugniježđenog.
  • Rijetko je bolje nego gusto.
  • Čitljivost je bitna.
  • Posebne prilike nisu dovoljno posebne da bi prekršile pravila.
  • U isto vrijeme, praktičnost je važnija od besprijekornosti.
  • Greške nikada ne treba prešutjeti.
  • Ako nisu izričito prešućeni.
  • Kada se suočite sa nejasnoćom, oduprite se iskušenju da pogodite.
  • Trebao bi postojati jedan – i po mogućnosti samo jedan – očigledan način da se to učini.
  • Iako možda u početku neće biti očigledno ako niste Holanđanin.
  • Sada je bolje nego nikad.
  • Iako nikad nije često bolje nego sada.
  • Ako je implementaciju teško objasniti, ideja je loša.
  • Ako je implementaciju lako objasniti, ideja je vjerovatno dobra.
  • Imenski prostori su odlični! Hajde da ih napravimo više!

Python- programski jezik koji se aktivno razvija, nove verzije se objavljuju otprilike svake dvije i pol godine. Kao rezultat ovog i nekih drugih razloga, Python ne postoje ANSI, ISO ili drugi zvanični standardi, CPython ispunjava njihovu ulogu.

Istorija stvaranja jezika

Razvoj jezika Python započeo je kasnih 1980-ih uposlenik holandskog CWI instituta. Distribuiranom OS Amoeba bio je potreban proširivi skriptni jezik za koji je Guido van Rossum kreirao Python. Novi jezik je pozajmio neke od razvoja za ABC jezik, koji je bio fokusiran na podučavanje programiranja. U februaru 1991. Guido je objavio izvorni kod u novinskoj grupi alt.sources. Ime jezika nije došlo od vrste gmizavaca. Autor je dao naziv jeziku po popularnoj britanskoj humorističnoj televizijskoj emisiji Monty Python's Flying Circus iz 1970-ih. Ipak, zmijske glave predstavljaju amblem jezika. Nakon opsežnog testiranja, objavljena je prva verzija Pythona 3.0. Obe grane razvoja su trenutno podržane (Python 3.x i 2.x).

Python je nastao pod uticajem mnogih programskih jezika: Modula-3, C, C++, Smalltalk, Lisp, Fortran, Java, Miranda, Icon. Uprkos činjenici da Python ima prilično karakterističnu sintaksu, jedan od principa dizajna ovog jezika je princip najmanjeg iznenađenja.

Standard Library

Bogata standardna biblioteka je jedna od atrakcija Pythona. Postoje alati za rad sa mnogim mrežnim protokolima i internet formatima. Postoje moduli za rad sa regularnim izrazima, kodiranja teksta, multimedijalni formati, kriptografski protokoli, arhive. Pored standardne biblioteke, postoje mnoge biblioteke koje pružaju interfejs za sve sistemske pozive na različitim platformama.
Za Python je usvojena specifikacija programskog interfejsa baze podataka DB-API 2 i razvijeni su paketi koji odgovaraju ovoj specifikaciji za pristup različitim DBMS-ima: Oracle, MySQL, PostgreSQL, Sybase, Firebird (Interbase), Informix, Microsoft SQL Server i SQLite.
NumPy biblioteka za rad sa višedimenzionalnim nizovima omogućava vam da postignete performanse naučnih proračuna uporedivih sa specijalizovanim paketima. SciPy koristi NumPy i pruža pristup širokom spektru matematičkih algoritama. Numarray je posebno dizajniran za operacije s velikim količinama naučnih podataka.
Python pruža jednostavan i zgodan C API za pisanje vlastitih modula u C i C++. Alat kao što je SWIG vam omogućava da gotovo automatski dobijete veze za korištenje C / C ++ biblioteka u Python kodu. Alat standardne biblioteke ctypes omogućava Python programima da direktno pristupe dinamičkim bibliotekama napisanim u C. Postoje moduli koji vam omogućavaju da ugradite C/C++ kod direktno u Python izvorne datoteke, kreirajući ekstenzije u hodu.
Python i velika većina njegovih biblioteka su besplatni i dolaze u izvornom kodu. Štaviše, za razliku od mnogih otvorenih sistema, licenca ni na koji način ne ograničava upotrebu Pythona u komercijalnom razvoju i ne nameće nikakve obaveze osim pripisivanja autorskih prava.

Prijave

Python je stabilan i široko rasprostranjen jezik. Koristi se u mnogim projektima iu različitim kapacitetima: kao glavni programski jezik ili za kreiranje ekstenzija i integraciju aplikacija. U Pythonu je implementiran veliki broj projekata, a aktivno se koristi i za izradu prototipova za buduće programe. Python koriste mnoge velike kompanije.
Python sa paketima NumPy, SciPy i MatPlotLib aktivno se koristi kao univerzalno okruženje za naučne proračune kao zamena za uobičajene specijalizovane komercijalne pakete Matlab, IDL, itd.
Profesionalni 3D grafički programi kao što su Houdini i Nuke koriste Python za proširenje standardnih karakteristika programa.

Izvori

Prezentacije

Zadaća

Pripremite poruke:

  • Python kao alat za naučnike
  • Python i Ruby (poređenje)
  • python i web
  • Kreiranje prozorskih aplikacija sa Pythonom i grafičkim bibliotekama (wxPython, PyQt, PyGTK, itd.)

Python ima mnogo namjena, ali neke su posebno dobre. Hajde da shvatimo šta se može uraditi na ovom EP-u.

Glavne razlike:

  • Flask pruža jednostavnost, fleksibilnost i potpunu kontrolu nad projektom. Omogućava korisniku da samostalno odluči kako će implementirati određene stvari.
  • Django je all-inclusive usluga. Izvan kutije, dolazi sa admin panelom, sučeljima baze podataka, ORM-om (objektno relacijsko mapiranje) i strukturom direktorija za vaše projekte.

Šta odabrati?

  • Odaberite Flask ako želite više iskustva i mogućnosti učenja. Ili ako vam je potrebna maksimalna kontrola nad svim komponentama koje koristite, kao što su baze podataka.
  • Odaberite Django ako ste zainteresirani za krajnji proizvod. Pogotovo ako radite s jednostavnim aplikacijama kao što su web stranica s vijestima, trgovina, blog i želite da svaki zadatak bude riješen na jedan vrlo jasan način.

Drugim riječima, Flask je nedvojbeno najbolji izbor za početnika jer sadrži manje komponenti. Osim toga, vrijedi odabrati ako trebate fino podesiti projekat.

Flask je, zbog svoje fleksibilnosti, pogodniji za izgradnju REST API-ja.

S druge strane, ako vam je cilj napraviti nešto jednostavno i brzo, vjerovatno biste trebali odabrati Django.

Nauka o podacima: mašinsko učenje, analiza i vizualizacija podataka

Prije svega, trebali biste razumjeti šta je.

Pretpostavimo da želite da razvijete program koji će automatski odrediti šta je prikazano na slici.

Na primjer, kada joj ponudite ovu sliku, želite da program prepozna psa.

I ovdje bi trebala vidjeti sto.

Možda mislite da možete jednostavno napisati kod za analizu slike kako biste riješili ovaj problem. Na primjer, ako na slici ima puno svijetlosmeđih piksela, zaključujemo da se radi o psu.

Ili možete naučiti kako otkriti rubove i ivice na slici. Tada će slika sa puno ravnih ivica vjerovatno biti tabela.

Međutim, ovo je prilično kompliciran i loše osmišljen pristup. Šta ako se na fotografiji vidi bijeli pas bez smeđih mrlja? Ili ako je slika okrugli sto?

Ovdje dolazi u obzir mašinsko učenje. Obično implementira neke , što vam omogućava da automatski otkrijete poznati obrazac među ulazima.

Možete ponuditi algoritam mašinskog učenja, recimo, 1000 slika psa i 1000 slika tablica. Naučit će razliku između ovih objekata. Zatim, kada mu date novu sliku stola ili psa, on može identificirati o čemu se radi.

  • scikit-learn ima nekoliko popularnih algoritama učenja ugrađenih iz kutije;
  • TensorFlow je biblioteka nižeg nivoa. Omogućava vam kreiranje prilagođenih algoritama.

Ako ste novi u mašinskom učenju, najbolje je početi sa scikit-learn. Iskusniji programeri koji naiđu na probleme efikasnosti trebali bi pobliže pogledati TensorFlow.

Kako proučavati mašinsko učenje?

Pravi analitičari, na primjer, u Google-u ili Microsoft-u rade istu stvar, samo što je njihov posao složeniji i složeniji.

Oni koriste SQL jezik upita za dohvaćanje podataka iz baza podataka. Zatim se za analizu i vizualizaciju koriste specijalni alati, kao što je Mathplotlib (za Python) ili D3.js (za JavaScript).

Načini korištenja Pythona za analizu i vizualizaciju podataka

Jedna od najpopularnijih biblioteka vizualizacije je Mathplotlib.

Početnici bi trebali početi učiti s njim iz dva razloga:

  • nizak ulazni prag;
  • Ovladavanje Mathplotlibom će vam omogućiti da u budućnosti brzo shvatite složenije biblioteke zasnovane na njemu, kao što je seaborn.

Kako naučiti analizu podataka u Pythonu?

Nedavno su neke kompanije počele da koriste JavaScript za kreiranje desktop aplikacija. Na primjer, Slack desktop aplikacija je napravljena korištenjem Electron JavaScript okvira.

Prednost pisanja desktop aplikacija u JavaScript-u je u tome što možete ponovo koristiti kod web verzije.

Python 3 ili Python 2

Python 3 je moderniji i popularniji izbor.

Objašnjenje pozadinskog i frontend koda

Recimo da želite da radite nešto što liči na Instagram.

Top Related Articles