Python: Skirtumas tarp puslapio versijų
Ištrintas turinys Pridėtas turinys
false Žymos: Atmesta Vizualus redagavimas |
rvv Žyma: Anuliuoti |
||
Eilutė 1:
{{Infolentelė programavimo kalba
|pavadinimas = Python
|logo = Python logo and wordmark.svg
|logo_size = 250px
|programavimo_paradigma = [[Funkcinis programavimas]], [[objektinis programavimas]], [[procedūrinis programavimas]], reflektyvusis programavimas
|projektavo = Guido van Rossum
|kūrė = Python Software Foundation
|išleidimo_data = 1991 m.
|paskutinė_versija =3.5.0 /<br />{{Start date|df=yes|2015|09|13}}<ref>{{cite web |url=https://docs.python.org/3/whatsnew/3.5.html |title=Python 3.5.0 |publisher=Python Software Foundation |accessdate=13 September 2015}}</ref><br />2.7.10 /<br />{{Start date|df=yes|2015|05|23}}<ref name="">{{cite web |url=https://www.python.org/downloads/release/python-2710/ |title=Python 2.7.10 Release |publisher=Python Software Foundation |accessdate=24 May 2015}}</ref>
|paskutinė_išleidimo_data = {{Start date|df=yes|2015|09|13}}
|operacinė_sistema = [[Linux]], [[macOS]], [[Windows Vista]] (ir naujesnė) bei daugelis kitų
|licencija = [[Python Software Foundation License]]
|failų plėtiniai = .py, .pyc, .pyd, .pyo, .pyw, .pyz
|tinklalapis = {{URL|https://www.python.org/}}
}}
'''Python''' – interpretuojama, interaktyvi [[programavimo kalba]], sukurta Guido van Rossumo [[1990]] m. Pirmiausiai ji buvo scenarijų kalba AmoebaOS [[Operacinė sistema|operacinei sistemai]]. Python dažniausiai lyginama su [[Tcl]], [[Perl]], [[Scheme]], [[Java (programavimo kalba)|Java]] ir [[Ruby]]. {{faktas}} Python kuriama kaip [[atviras kodas|atviro kodo]] projektas.
Python yra daugiaparadigmė programavimo kalba – ji leidžia naudoti keletą programavimo stilių: objektinį, struktūrinį, funkcinį, aspektinį. Python naudoja dinaminį [[Tipų sistema|tipų tikrinimą]].
Python kūrėjų tikslai buvo sukurti kalbą, kuri yra lengvai skaitoma, išraiškinga, išreikštinė, paprasta (tinkama neprofesionaliems programuotojams).{{faktas}} 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 [[Klasė (programavimas)|klases]], praplečiančias standartinius duomenų tipus
* Klases ir [[Funkcija (programavimas)|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
* Leksinis apgaubimas
* Labai svarbus kodo išdėstymas ({{en|indentation}})
* Modulių sistema
== Privalumai ==
* Labai spartus programavimas, ypač jei dirba pirmasis programuotojas kuriam nereikia aiškintis esamo kodo ir kol neprireikia ''numpy'' bei kitų spartesniam vykdymui reikalingų galimybių.
* Dėl lakoniškos sintaksės programų tekstai trumpesni nei kitomis kalbomis užrašyti panašūs algoritmai.
* Multi platforminė (tinka [[Windows]]/[[Linux]]/[[Mac OS]], tinka telefonams su mobiliosiomis operacinėmis sistemomis, kaip [[Symbian OS]])
* Gerai tinka ir [[Žiniatinklis|ž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.<ref>C++ g++ versus Python 3 fastest programs. The Computer Language
Benchmarks Game [https://benchmarksgame-team.pages.debian.net/benchmarksgame/fastest/gpp-python3.html]</ref> Tačiau daug Python programinės bibliotekos iš tiesų parašyta C++. Kodas kuris beveik vien kviečia įvairias bibliotekines funkcijas, nieko nedaro pats, neturi ciklų, gali būti vykdomas panašiu greičiu.
* 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. <ref>{{cite web
| url=http://www.ddj.com/linux-open-source/206103078?pgno=2
| title=Concurrency and Python
| page=2
| author=Shannon -jj Behrens
| publisher=Dr. Dobb's Journal
| quote=''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.''
| date=2008-02-03
| accessdate=2008-07-12}}</ref>
== Programiniai įgyvendinimai ==
Pagrindinis kalbos įgyvendimas yra vadinamas CPython (kadangi rašytas [[C (kalba)|C kalba]]), ir kuriamas [http://www.python.org/ Python fondo]. Taip pat yra įgyvendimas [http://www.jython.org/ Jython], parašytas [[Java (programavimo kalba)|Java kalba]], bei [http://www.ironpython.com/ IronPython], veikiantis [[.NET]] platformoje. [[PyPy]] – python interpretatorius, parašytas pačiu python.
== Pavyzdžiai ==
Paprasta ''Python'' programa „Sveikas pasauli!“:
<source lang="python">
kreipinys = "Pasauli" # Kintamųjų aprašyti nereikia
print (f"Sveikas, {kreipinys}!") # Kintamojo naudojimas teksto eilutėje
</source>
Funkcija, suskaičiuojanti [[Faktorialas|faktorialą]]:
<source lang="python">
def factorial(x):
"""factorial(x)
Ši funkcija suskaičiuoja skaičiaus X faktorialą."""
return 1 if x == 0 else x * factorial(x-1)
</source>
Teigiamų skaičių vidurkio skaičiavimas šešių skaičių sąraše:
<source lang="python">
import numpy as np
a = np.array([1, 2, 3, -1, -2, -3])
np.nanmean(np.where(a>=0,a,np.nan))
</source>
Išspausdintų 2. ''numpy''<ref>''Numpy'' tinklalapis, [https://numpy.org/ numpy.org]</ref> 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 ==
* [http://www.python.org Oficialus Python tinklalapis], iš kur galima atsisiųsti Python įvairioms operacinėms sistemoms
* [http://rur-ple.sourceforge.net/en/rur.htm Python mokymosi aplinka RuR], paremta logo grafikos idėjomis
== Išnašos ==
{{Išnašos}}
{{program-stub}}
{{Commons|Category:Python (programming language)|no=T}}
[[Kategorija:Programavimo kalbos]]
[[Kategorija:Laisvoji programinė įranga]]
|