网友给信阳市委书记留言获回复 共计13条

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:
- Unatrag nekompatibilne verzije, gdje se o?ekuje lomljenje koda i potrebno ga je ru?no prenijeti. Prvi dio broja verzije se pove?ava. Ova se izdanja doga?aju rijetko - verzija 3.0 objavljena je 8 godina nakon 2.0.
- Ve?a ili "zna?ajna" izdanja doga?ala su se otprilike svakih 18 mjeseci, ali o?ekuje se da ?e se usvajanje godi?nje kadencije izdanja koja po?inje s Pythonom 3.9 doga?ati jednom godi?nje. U velikoj su mjeri kompatibilni, ali uvode nove zna?ajke. Drugi dio broja verzije se pove?ava. Svaku ve?u ina?icu podr?avaju ispravci programskih pogre?aka nekoliko godina nakon objavljivanja.
- Izdanja programskih pogre?aka, koja ne uvode nove zna?ajke, pojavljuju se otprilike svaka 3 mjeseca i nastaju kada je od posljednjeg izdanja uzvodno popravljen dovoljan broj programskih pogre?aka. Sigurnosne ranjivosti tako?er su zakrpljene u ovim izdanjima. Tre?i i posljednji dio broja verzije se pove?ava.[8]
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 selse
ielif
(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 kojegtry
obuhva?a, budu uhva?ene i obra?ene uexcept
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 modula
Nekoliko 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]
- ↑ A Brief Timeline of Python, Guido van Rossum, 20. sije?nja 2009., python-history.blogspot.fr, pristupljeno 23. kolovoza 2012.
- ↑ Venners, Bill. The Making of Python
- ↑ van Rossum, Guido. SETL (was: Lukewarm about range literals)
- ↑ PEP 13 -- Python Language Governance
- ↑ What's New in Python 2.0
- ↑ CVE - CVE-2021-23336
- ↑ PEP 1 – PEP Purpose and Guidelines
- ↑ PEP 6 – Bug Fix Releases
- ↑ Python Buildbot
- ↑ PEP 634 -- Structural Pattern Matching: Specification
- ↑ TIOBE Index. TIOBE - The Software Quality Company. Ina?ica izvorne stranice arhivirana 12. listopada 2021. Pristupljeno 13. listopada 2021.
- ↑ Difference between Python and C++. Pristupljeno 24. svibnja 2022.
- FAQ knowledge base ?Arhivirana ina?ica izvorne stranice od 10. lipnja 2006. (Wayback Machine)
- Slu?bena web stranica
- Computer science links
- Linux journal - ?lanak "Za?to Python"
- Wiki Python.org
- washington.edu ?Arhivirana ina?ica izvorne stranice od 7. rujna 2006. (Wayback Machine)
- Programski jezik Python na Curlie