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. (1991-02-20)[1] |
---|
Paskutinė stabili versija | 3.12.2 / 2024 m. vasario 7 d. (2024-02-07)[2] |
---|
Paskutinė išleidimo data | 2023 m. balandžio 5 d. (2023-04-05) |
---|
Operacinė sistema | Windows, MacOS, Linux, Android, ir daugelis kitų |
---|
Licencija | Python Software Foundation License |
---|
| .py, .pyi, .pyc, .pyd, .pyw, .pyz |
---|
Tinklalapis | www.python.org |
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
- Leksinis apgaubimas
- Labai svarbus kodo išdėstymas (angl. 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 ž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] 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
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!“:
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
Nuorodos