Python (programmeerimiskeel)

Python on üldotstarbeline interpreteeritav programmeerimiskeel, mida algselt arendati skriptimiskeeleks. 

Python võimaldab mitut programmeerimisstiili, näiteks objektorienteeritud, protseduraalset või funktsionaalset programmeerimist. 

Pythonit peetakse küllaltki lihtsaks keeleks ja seda on soovitatud programmeerimise õppimisel esimeseks keeleks.

Python sisaldab selliste programmeerimiskeelte nagu C++, Java, Modula-3 ja Scheme tunnuseid.

Ajalugu 
Pythoni töötas 1990ndate alguses Hollandis Stichting Mathematisch Centrumis välja Guido van Rossum. Python on keele ABC järglane. ABC omakorda on inspireeritud SETL-ist. 2000. aasta mais lõid Guido van Rossum ja Pythoni arendusmeeskond firma BeOpen PythonLabs, mis sama aasta oktoobris ühines firmaga Digital Creations (hiljem tuntud kui Zope Corporation). 2001. aastal loodi mittetulundusühing Python Software Foundation, mis on Pythoni autoriõiguse omanik, ühingu sponsoriks on ka Zope Corporation. 

Python on oma nime saanud briti komöödiagrupi Monty Python järgi. Dokumentatsiooni koodinäidetes üritatakse vältida liigset tõsidust viidetega grupi loomingule.

Kõik Pythoni avalikustatud versioonid on avatud lähtekoodiga. Enamik väljalasked, kuigi mitte kõik, ühilduvad ka GPL-litsentsiga. Pythoni interpretaatorit ja teeke levitatakse tasuta tarkvarana.

Tehniline info 
Python on dünaamiliste andmetüüpidega keel, kus programmeerijal ei ole tarvis määrata muutujate tüüpe. See suurendab programmeerija võimalusi, kuid on samas veaohtlik.

Pythoni koodi interpreteerimine ja optimeerimine võivad olla mõnikord aeglased protsessid. Selle omaduse poolest sarnaneb Python Javaga, kuna ka Pythoni programmid kompileeritakse enamasti baitkoodiks, kuigi Pythoni puhul on see protsess läbipaistev. Siiski on Pythoni programmid masinkoodi kompileeritud programmidest (C, C++) alati aeglasemad, isegi mitu korda. Samas pole tänapäeva arvutite kiiruse juures seda vahet lihtsamate ülesannete puhul märgata.

Võrdlus teiste keeltega 

Pythoni kasutamine erineb teistest keeltest arendamise kiiruse poolest, samas on keeles olemas kõik objektorienteeritud programmeerimise vahendid. Python on hea keel prototüüpimiseks: tihti luuakse mingi arvutiprogrammi esialgne kavand selles keeles, misjärel teostatakse see mõnes kiiremas kõrgkeeles. Vahel kirjutatakse ainult programmi aeglasemad osad C-s või C++-is. Võrreldes teiste programmeerimiskeeltega kulutab Pythonis programmeeritu rohkem kui 70 korda rohkem aega ja energiat ning vajab 2,4 korda rohkem mälu kui C-s programmeeritu.
Pythoni keeles on nimekirjageneraatorid kõige võimsamate tööriistade hulgas. Nende kasutamise kaudu on võimalik läbi viia mitmesuguste andmetega töötamise protsess. Selliseid konstruktsioone kasutatakse sageli siis, kui on vaja töötada loenditega. See hõlmab mitte ainult nende loomise protsessi, vaid ka edasist muutmist.

Võtmesõnade loetelu 
Järgnevalt on esitatud Pythoni programmikeeles kasutatavad võtmesõnad:
and
as
assert
break
class
continue
def
del
elif
else
except
exec (muudetud sisseehitatud funktsiooniks alates Python 3.x versioonidest)
False (alates Python 3.x)
finally
for
from
global
if
import
in
is
lambda
None (alates Python 3.x)
nonlocal (alates Python 3.x)
not
or
pass
print (muudetud sisseehitatud funktsiooniks alates Python 3.x versioonidest)
raise
return
True (alates Python 3.x)
try
while
with
yield
Võtmesõnu ei tohi kasutada muutujate nimedena.

Hello world
Klassikaline Hello world programm Pythonis:
 Python 2.x:
   print "Hello, world!"
 Python 3.x:
   print ('Hello, world!')

Kommentaarid 
Kommentaarid ehk see tekst, mida programmi täitmisel ei loeta, eraldatakse täitmisele minevast programmiosast märgiga #.
  # See tekst on Pythoni programmi kommentaar

Mitmerealiste kommentaaride lihtsaks koostamiseks ja lähtekoodi dokumenteerimiseks on võetud tavaks sõned, mida interpreteerija programmi täitmiselt tegelikult ei väldi.

Vaata ka
NumPy

Viited

Välislingid 

 Programmeerimisest maalähedaselt, Python 3
 Kuutõrvaja wiki, Python 2
 PHP pakub palju lõbu, aga Python on "pika suhte materjal", forte.delfi.ee, 28. oktoober 2010
 Video Pythoni interpretaatorist
 An Interview with Guido van Rossum - O'Reilly Media
 Guido's Personal Home Page
 Kas Python 2 või Python 3?
Programmeerimiskeeled
Skriptimiskeeled
Objektorienteeritud programmeerimiskeeled