programski jezik From Wikipedia, the free encyclopedia
Python je programski jezik opće namjene, interpretiran i visoke razine kojeg je stvorio Guido van Rossum 1990. godine (prva javna inačica objavljena je u veljači 1991. godine),[1] ime dobiva po televizijskoj seriji Monty Python's Flying Circus. Po automatskoj memorijskoj alokaciji, Python je sličan programskim jezicima kao što su Perl, Ruby, Smalltalk itd. Python dopušta programerima korištenje nekoliko stilova programiranja. Objektno orijentirano, strukturno i aspektno orijentirano programiranje stilovi su dopušteni korištenjem Pythona te ova fleksibilnost čini Python programski jezik sve popularnijim. Python se najviše koristi na Linuxu, no postoje i inačice za druge operacijske sustave.
Python je stvoren krajem 1980-ih.[2] Osmislio ga je Guido van Rossum u Centrum Wiskunde & Informatica (CWI) u Nizozemskoj, kao nasljednika ABC programskog jezika koji je inspiriran SETL-om,[3] koji je sposoban za rukovanje iznimkama i povezivanje s Amoeba operativnim sustavom. Implementacija Pythona krenula je u prosincu 1989. godine. Van Rossum je snosio odgovornost za projekt kao vodeći 'developer' sve do 12. srpnja 2018. godine kad je najavio svoj 'stalni odmor' od svojih obaveza kao jedan od Pythonovih vodećih ljudi. Nakon što je otišao, glavni Pythonovi developeri napravili su upravno vijeće za vođenje projekta, čiji članovi su: Barry Warsaw, Brett Cannon, Carol Willing, Thomas Wouters i Pablo Galindo Salgado.[4]
Python 2.0 objavljen je 16. listopada 2000. godine s mnogim glavnim novim značajkama, uključujući '' cycle-detecting garbage collector'' i podršku za Unicode.[5] Python 3.0 objavljen je 3. prosinca 2008. To je bila velika revizija jezika koja nije potpuno unatrag kompatibilna. Mnoge njegove značajke vraćene su u verzije Python 2.6.x i 2.7.x. Izdanja Pythona 3 uključuju pomoćni program 2to3, koji automatizira (barem djelomično) prijevod Python 2 koda na Python 3. Datum završetka Pythona 2.7 prvotno je bio određen za 2015. godinu, a zatim je odgođen za 2020. godinu zbog zabrinutosti da se veliki dio postojećeg koda ne može lako prenijeti na Python 3. Za njega neće biti objavljene više sigurnosne zakrpe niti druga poboljšanja. S isteklim vijekom trajanja Pythona 2, podržani su samo Python 3.6.x i noviji.
Python 3.9.2 i 3.8.8 ubrzani su jer su sve verzije Pythona (uključujući 2.7) imale sigurnosnih problema, što je dovelo do mogućeg daljinskog izvršenja koda i trovanja web cachea.[6]
Razvoj Pythona u velikoj se mjeri odvija kroz postupak prijedloga poboljšanja Pythona (PEP), primarnog mehanizma za predlaganje velikih novih značajki, prikupljanje doprinosa zajednice o pitanjima i dokumentiranje odluka o dizajnu Pythona. Python stil kodiranja pokriven je PEP -om 8. Izvanredne PEP -ove pregledavaju i komentiraju zajednica Python i upravno vijeće.[7]
Poboljšanje jezika odgovara razvoju implementacije CPython reference. Popis adresa python-dev primarni je forum za razvoj jezika. O posebnim pitanjima raspravlja se u Roundup trag bugu koji se nalazi na bugs.python.org. Razvoj se izvorno odvijao na vlastitom spremištu izvornog koda koji pokreće Mercurial, sve dok se Python nije preselio na GitHub u siječnju 2017.
Javna izdanja CPythona dolaze u tri vrste, od kojih se dio broja verzije povećava:
Mnogi alfa, beta i kandidati za izdanje također su objavljeni kao pregledi i za testiranje prije konačnih izdanja. Iako postoji okvirni raspored za svako izdanje, oni često kasne ako kod nije spreman. Pythonov razvojni tim prati stanje koda pokretanjem velikog paketa jediničnih testova tijekom razvoja.[9]
Glavna akademska konferencija o Pythonu je PyCon. Postoje i posebni programi za mentorstvo Pythona, poput Pyladies. Pythons 3.10 odbacuje wstr (uklonit će se u Pythonu 3.12; što znači da se Python proširenja do tada moraju izmijeniti), a također planira dodati jezik koji odgovara uzorcima.[10]
Unutar IT zajednice česte su kritike Pythona na račun njegove sporosti. Pošto je Python interpreterski jezik, programi napisani u njemu vrše se malo sporije za usporedbu od kompajlerskih jezika, kao što su C, C++ i slični. Međutim, unatoč toj brzinskoj manjkavosti, u industriji se Python poprilično koristi (ponajviše kao back end programski jezik).
Python se često uspoređuje s Javom. Oboje su interpreterski jezici, i oboje imaju gotovo nikakvu podršku za višejezgrovno izvođenje programa, pošto i Python i Java koriste samo jednu procesorsku jezgru. Java se kao jezik češće primjenjuje u izradi mobilnih aplikacija i interaktivnog web sadržaja, dok je Python gospodar PC svijeta. Što se tiče brzine izvođenja programa, Java i Python su približno jednaki.
Python koristi uvlačenje kao metodu razlikovanja programskih blokova, tj. ne koristi vitičaste zagrade ili ključne riječi kao većina programskih jezika. Povećanje uvlačenja znači da dolazi novi, ugniježđeni blok, dok smanjenje označava kraj trenutnog bloka.
U Pythonove ključne riječi spadaju:
if
izraz, koji izvršava određeni blok koda pod nekim uvjetom, zajedno s else
i elif
(else-if varijanta).for
izraz, koji iterira kroz iterabilan objekt i svaki element upisuje u lokalnu varijablu koja se koristi u pridruženom bloku.while
izraz, koji izvršava određeni blok koda sve dok je njegov uvjet istinittry
izraz, koji omogućava da iznimke, koje su bačene u bloku koda kojeg try
obuhvaća, budu uhvaćene i obrađene u except
blokuclass
izraz, kojim se deklarira klasa (u objektno orijentiranom programiranju)def
izraz, koji definira funkciju ili metoduassert
izraz, koji se koristi pri debuggiranju kako bi se provjerilo vrijede li određeni uvjetiimport
izraz, koji se koristi pri uključivanju dodatnih modulaNekoliko primjera koji pokazuju sintaksu Pythona (inačica 3.x):
#komentar u Pythonu
#na ekran se ispiše "Hello World"
print ("Hello World")
#primjer liste (polja):
brojevi = [1, 8, 9, 3, 10, 44, 78, 33, 100]
#ispis prvog elementa u listi brojevi, u ovom slučaju "1"
print (brojevi[0])
#primjer ispitivanja uvjeta:
a = 5
b = 3
if a > b:
print ("a je veće od b")
else:
print ("b je veće od a")
#primjer iteriranja kroz listu i ispis njenih elemenata:
for broj in brojevi:
print(broj)
#primjer funkcije koja ispisuje "Hello World"
def Hello():
print ("Hello World")
Primjer klase:
class Hello():
#konstruktor bilo koje klase se definira kao def __init__(self):
def __init__(self):
pass
#definicija metode pozdrav()
def pozdrav(self):
print ("Hello World")
Od 2003. Python se dosljedno svrstava u prvih deset najpopularnijih programskih jezika u Indeksu programske zajednice TIOBE, gdje je od listopada 2021. najpopularniji jezik (ispred Java i C).[11]
Empirijsko istraživanje pokazalo je da su skriptni jezici, kao što je Python, produktivniji od konvencionalnih jezika, kao što su C i Java, za probleme programiranja koji uključuju manipulaciju stringovima i pretraživanje u rječniku, i utvrdilo da je potrošnja memorije često bila "bolja od Jave, a ne mnogo gore od C ili C++".[12]
Seamless Wikipedia browsing. On steroids.
Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.
Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.