Python
![]() | |
Programavimo paradigma | Funkcinis programavimas, objektinis programavimas, procedūrinis programavimas, reflektyvusis programavimas |
---|---|
Projektuotojai | Guido van Rossum |
Kūrėjai | Python Software Foundation |
Išleidimo data | 1991 m. |
Paskutinė stabili versija | 3.5.0 / 2015 m. rugsėjo 13 d.[1] 2.7.10 / 2015 m. gegužės 23 d.[2] |
Paskutinė išleidimo data | 2015 m. rugsėjo 13 d. |
Operacinė sistema | Linux, macOS, Windows Vista (ir naujesnė) bei daugelis kitų |
Licencija | Python Software Foundation License |
.py, .pyc, .pyd, .pyo, .pyw, .pyz | |
Tinklalapis | www |
Python – interpretuojama, interaktyvi programavimo kalba, sukurta Guido van Rossumo 1990 m. Pirmiausiai ji buvo scenarijų kalba AmoebaOS operacinei sistemai. Python dažniausiai lyginama su Tcl, Perl, Scheme, Java ir Ruby. [reikalingas šaltinis] Python kuriama kaip atviro kodo projektas.
Python yra daugiaparadigmė programavimo kalba – ji leidžia naudoti keletą programavimo stilių: objektinį, struktūrinį, funkcinį, aspektinį. Python naudoja dinaminį tipų tikrinimą.
Python kūrėjų tikslai buvo sukurti kalbą, kuri yra lengvai skaitoma, išraiškinga, išreikštinė, paprasta (tinkama neprofesionaliems programuotojams).[reikalingas šaltinis] Nors pradžioje ji buvo kuriama kaip scenarijų kalba, dabar ji naudojama ir dideliems programiniams projektams, tokiems kaip Zope. Taip pat labai paplitusi Linux sistemose.
Savybės
- Viskas yra objektai; galima sukurti klases, praplečiančias standartinius duomenų tipus
- Klases ir funkcijas lengva dokumentuoti naudojant dokumentacijos eilutes („docstrings“); dokumentacija pasiekiama ir programos darbo metu
- Klasės ir funkcijos taip pat yra pirmos klasės objektai
- Galimas paveldėjimas iš keleto klasių
- Galima kurti anonimines funkcijas (nors tai planuojama panaikinti vėlesnėse versijose)
- Leksinis apgaubimas
- Labai svarbus kodo išdėstymas (angl. indentation)
- Modulių sistema
Privalumai
- Dėl indentacijos, galimas praktiškai vienintelis būdas (skiriasi tik tarpų/tabuliacijos ženklų vartojimas) parašyti kodą, todėl lengva dirbti grupėse
- Kodas gali būti kompiliuojamas į vidinę formą, kas leidžia greičiau įkrauti daug kartų naudojamus modulius ir pan.
- Greitas programuotojų darbo ciklas
- Multi platforminė (tinka Windows/Linux/Mac OS, net tinka telefonams su mobiliosiomis operacinėmis sistemomis, kaip Symbian OS)
- Gerai tinka ir žiniatinklio (pvz, YouTube), ir darbalaukio (pvz, OpenDict) programų kūrimui.
Trūkumai
- Python programa vykdoma dešimtis ir kai kada šimtus kartų lėčiau nei panaši C++ programa.[3]
- Labai paprasta sintaksė nesaugo nuo programavimo klaidų kurios labiau „žodingoje“ kalboje iš principo negalimos. Daug nutylėjimų apsunkina svetimo kodo supratimą: dažnai neaišku kas iš tiesų yra funkcijos parametrai, rezultatas, ypač jei tai sudėtingesnės duomenų struktūros.
- Ribotos lygiagretaus programavimo galimybės: nors ir įmanoma sukurti keletą gijų, dažniausiai vienu metu vykdoma tik viena[4]
Programiniai įgyvendinimai
Pagrindinis kalbos įgyvendimas yra vadinamas CPython (kadangi rašytas C kalba), ir kuriamas Python fondo. Taip pat yra įgyvendimas Jython, parašytas Java kalba, bei IronPython, veikiantis .NET platformoje. PyPy – python interpretatorius, parašytas pačiu python.
Pavyzdžiai
Paprasta Python programa „Sveikas pasauli!“:
print ("Sveikas, Pasauli!")
Funkcija, suskaičiuojanti skaičiaus faktorialą:
def factorial(x):
"""factorial(x)
Ši funkcija suskaičiuoja skaičiaus X faktorialą."""
return 1 if x == 0 else x * factorial(x-1)
Teigiamų skaičių vidurkio skaičiavimas:
import numpy as np
a = np.array([1, 2, 3, -1, -2, -3])
np.nanmean(np.where(a>=0,a,np.nan))
Išspausdintų 2. numpy[5] yra Python sisteminė biblioteka matricų algebrai ir kitiems panašiems skaičiavimams. Ją naudojant, Python galima skaičiuoti tiek pat greitai kaip ir kitomis programavimo kalbomis.
Nuorodos
- Oficialus Python tinklalapis, iš kur galima atsisiųsti Python įvairioms operacinėms sistemoms
- Python mokymosi aplinka RuR, paremta logo grafikos idėjomis
Išnašos
- ↑ „Python 3.5.0“. Python Software Foundation. Nuoroda tikrinta 13 September 2015.
- ↑ „Python 2.7.10 Release“. Python Software Foundation. Nuoroda tikrinta 24 May 2015.
- ↑ C++ g++ versus Python 3 fastest programs. The Computer Language Benchmarks Game [1]
- ↑ Shannon -jj Behrens (2008-02-03). „Concurrency and Python“. Dr. Dobb's Journal. p. 2. Nuoroda tikrinta 2008-07-12. „The GIL is a lock that is used to protect all the critical sections in Python. Hence, even if you have multiple CPUs, only one thread may be doing "pythony" things at a time.“
- ↑ Numpy tinklalapis, numpy.org