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. vasario 20 d.[1] |
Paskutinė stabili versija | 3.12.2 / 2024 m. vasario 7 d.[2] |
Paskutinė išleidimo data | 2023 m. balandžio 5 d. |
Operacinė sistema | Windows, MacOS, Linux, Android, ir daugelis kitų |
Licencija | Python Software Foundation License |
.py, .pyi, .pyc, .pyd, .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
[redaguoti | redaguoti vikitekstą]- 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
- Leksinis apgaubimas
- Labai svarbus kodo išdėstymas (angl. indentation)
- Modulių sistema
Privalumai
[redaguoti | redaguoti vikitekstą]- 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 žiniatinklio (pvz, YouTube), ir darbalaukio (pvz, OpenDict) programų kūrimui.
Trūkumai
[redaguoti | redaguoti vikitekstą]- Python programa vykdoma dešimtis ir kai kada šimtus kartų lėčiau nei panaši C++ programa.[3] 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.[4]
Programiniai įgyvendinimai
[redaguoti | redaguoti vikitekstą]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
[redaguoti | redaguoti vikitekstą]Paprasta Python programa „Sveikas pasauli!“:
kreipinys = "Pasauli" # Kintamųjų aprašyti nereikia
print (f"Sveikas, {kreipinys}!") # Kintamojo naudojimas teksto eilutėje
Funkcija, suskaičiuojanti 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 šešių skaičių sąraše:
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.
Išnašos
[redaguoti | redaguoti vikitekstą]- ↑ „Python 0.9.1 part 01/21“. Nuoroda tikrinta 2023-05-26.
- ↑ „Python 3.12.2 and 3.11.8 are now available“. Python Software Foundation. Nuoroda tikrinta 2024-02-07.
- ↑ C++ g++ versus Python 3 fastest programs. The Computer Language Benchmarks Game [1] Archyvuota kopija 2021-06-02 iš Wayback Machine projekto.
- ↑ 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
Nuorodos
[redaguoti | redaguoti vikitekstą]- Oficialus Python tinklalapis, iš kur galima atsisiųsti Python įvairioms operacinėms sistemoms
- Python mokymosi aplinka RuR, paremta logo grafikos idėjomis
- Python šaltiniai lietuvių kalba