Python (programmeerimiskeel)
| Python | |
|---|---|
|
| |
| Faililaiend | .py, .pyw, .pyc, .pyo, .pyd |
| Paradigma | funktsionaalne, imperatiivne, reflektiivne, objektorienteeritud (klassipõhine) |
| Väljalaskeaeg | 20. veebruar 1991 |
| Looja | Guido van Rossum |
| Arendaja | Python Software Foundation |
| Viimane väljalase |
3.14.0 (7.10.2025) |
| Tüüpimine | dünaamiline, tugev, pardi |
| Implementatsioonid | CPython, IronPython, Jython, Python for S60, PyPy, Unladen Swallow |
| Dialektid | Stackless Python, RPython |
| Mõjutatud keeltest | ABC, ALGOL 68, C, Haskell, Icon, Lisp, Modula-3, Perl, Java |
| Mõjutanud keeli | Boo, Cobra, D, Dao, Falcon, Groovy, Nimrod, Ruby |
| OS | mitmeplatvormne |
| Litsents | Python Software Foundation License |
| Veebileht | www.python.org |
Python on üldotstarbeline interpreteeritav programmeerimiskeel, mida algselt arendati skriptimiskeeleks.
Python võimaldab mitut programmeerimisstiili, näiteks objektorienteeritud, protseduraalset või funktsionaalset programmeerimist.
Pythonit peetakse üsna lihtsaks keeleks ja just sellest on soovitatud programmeerimise õppimisel alustada.[1]
Python sisaldab selliste programmeerimiskeelte nagu C++, Java, Modula-3 ja Scheme tunnuseid.[2]
Ajalugu
[muuda | muuda lähteteksti]Pythoni töötas 1990. aastate alguses Hollandis Stichting Mathematisch Centrumis välja Guido van Rossum. Python on keele ABC[3] järglane. ABC omakorda on inspireeritud SETL-ist.[4] 2000. aasta mais lõid Guido van Rossum ja Pythoni arendusmeeskond ettevõtte BeOpen PythonLabs, mis sama aasta oktoobris ühines firmaga Digital Creations (hiljem tuntud kui Zope Corporation). 2001. aastal loodi mittetulundusühing Python Software Foundation[5], mis on Pythoni autoriõiguse omanik, ühingu sponsoriks on ka Zope Corporation.
Python on saanud nime briti komöödiagrupi Monty Python järgi.[6] Dokumentatsiooni koodinäidetes üritatakse vältida liigset tõsidust viidetega grupi loomingule.
Kõik Pythoni avalikustatud versioonid on avatud lähtekoodiga. Enamik väljalaskeist, kuigi mitte kõik, ühildub ka GPL-litsentsiga. Pythoni interpretaatorit ja teeke levitatakse tasuta tarkvarana.
Tehniline info
[muuda | muuda lähteteksti]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
[muuda | muuda lähteteksti]
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.[7] 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.[8]
Võtmesõnade loetelu
[muuda | muuda lähteteksti]Järgnevalt on esitatud Pythoni programmikeeles kasutatavad võtmesõnad:[9]
and,not,oras,assertbool,int,is,strbuiltinsclass,continuedef,lambda,returndelexceptfrom,importif,elif,else:for,in,rangeglobalpasstype,tupletry,raise,finallywhile,break,withyield
Python 3
[muuda | muuda lähteteksti]Muudetud sisseehitatud funktsiooniks alates Python 3.x versioonidest:
exec,printFalse,Truematch,caseNone,nonlocal
Võtmesõnu ei tohi kasutada muutujate nimedena.
Hello world
[muuda | muuda lähteteksti]Klassikaline print("Hello world") programm Pythonis:
- Python 2.x:
print "Hello, world!"
- Python 3.x:
print('Tere, maailm!')
Kommentaarid
[muuda | muuda lähteteksti]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.[10]
Faktoriaal
[muuda | muuda lähteteksti]Siin on neli lihtsat viisi, kuidas kirjutada faktoriaali arvutamist Pythonis, koos näitega 5! = 120.
Faktoriaal while tsükligatitle
[muuda | muuda lähteteksti]nbr = 5 # arv, mille faktoriaali soovime leida
tulemus = 1 # alustame tulemusega 1
indMul = 1 # loendur
while indMul <= nbr:
tulemus *= indMul # tulemus = tulemus * indMul # korrutame tulemuse loenduriga
indMul += 1 # indMul = indMul + 1 # suurendame loendurit
print(tulemus) # väljund: 120
Faktoriaal for tsükligatitle
[muuda | muuda lähteteksti]nbr = 5 # arv, mille faktoriaali soovime leida
tulemus = 1 # alustame tulemusega 1
for indMul in range(1, nbr + 1):
tulemus *= indMul # korrutame tulemuse iga tsükli väärtusega
print(tulemus) # väljund: 120
Faktoriaal def rekursiivselt
[muuda | muuda lähteteksti]def faktoriaal(nbr) -> int: # defineerime funktsiooni nimega 'faktoriaal'
# baasjuht: 0! ja 1! on 1
return 1 if nbr <= 1 else nbr * faktoriaal(nbr - 1) # rekursiivne kutsung
print(faktoriaal(5)) # väljund: 120
Faktoriaal kasutades math moodulit
[muuda | muuda lähteteksti]import math # impordime matemaatikamooduli
nbr = 5 # arv, mille faktoriaali soovime leida
print(math.factorial(nbr)) # kasutame valmis funktsiooni faktoriaali leidmiseks
Kõik need viisid annavad sama tulemuse: 5! = 120
Vaata ka
[muuda | muuda lähteteksti]Viited
[muuda | muuda lähteteksti]- ↑ Wainewright 2016.
- ↑ Downey, Elkner ja Meyers 2016.
- ↑ "History and License". PSF (inglise). 2001. Vaadatud 06.09.2025.
- ↑ van Rossum, Guido (29.08.2000). "SETL (was: Lukewarm about range literals)" (email). Python-Dev (inglise). Vaadatud 06.09.2025.
- ↑ "Python Software Foundation". PSF (inglise). Beaverton. 2025. Vaadatud 06.09.2025.
- ↑ "Why is it called Python?". General Python FAQ (inglise). 2025. Vaadatud 06.09.2025.
- ↑ Pereira, Rui; et al. (23.10.2017). "Energy efficiency across programming languages: how do energy, time, and memory relate?" (PDF). Universidade do Minho (inglise). Vancouver: SLE’17 Software Language Engineering. Lk 256-267. DOI:10.1145/3136014.3136031. Vaadatud 06.09.2025.
- ↑ Programmer, Buggy (13.07.2021). "Генераторы списков в Python для начинающих" [Loendite genereerimine Pythonis algajatele]. pythonist.ru (vene). Tõlkinud Sk, Sofi. Vaadatud 06.09.2025 – cit. via freecodecamp.org: List Comprehension in Python Explained for Beginners.
- ↑ "The Python Language Reference" (inglise). 2025. Vaadatud 05.09.2025.
- ↑ van Rossum, Guido; Warsaw, Barry; Coghlan, Alyssa (05.07.2001). "PEP8 stiilijuhend" (inglise). Vaadatud 05.09.2025.
Kirjandus
[muuda | muuda lähteteksti]- Wainewright, Max (2016). Noor progeja. Üksikasjalik programmeerimisõpik (kõik, mida sul on vaja teada Scratchi, Logo, Pythoni, HTML-i ja JavaScripti kohta) (PDF). Tõlkinud Piret, Frey. Varrak. ISBN 978-9985-3-3758-5. Vaadatud 06.09.2025.
- Downey, Allen B.; Elkner, Jeffrey; Meyers, Chris (2016). How to Think like a Computer Scientist: Learning with Python (inglise) (illustrated, reprint ed.). Samurai Media Limited. ISBN 978-9-88-840678-4. Vaadatud 06.09.2025.
Välislingid
[muuda | muuda lähteteksti]| Pildid, videod ja helifailid Commonsis: Python (programmeerimiskeel) |