Python
Programavimo paradigmaFunkcinis programavimas, objektinis programavimas, procedūrinis programavimas, reflektyvusis programavimas
ProjektuotojaiGuido van Rossum
KūrėjaiPython Software Foundation
Išleidimo data1991 m. vasario 20 d. (1991-02-20)[1]
Paskutinė stabili versija3.12.2 /
2024 m. vasario 7 d. (2024-02-07)[2]
Paskutinė išleidimo data2023 m. balandžio 5 d. (2023-04-05)
Operacinė sistemaWindows, MacOS, Linux, Android, ir daugelis kitų
LicencijaPython Software Foundation License
.py, .pyi, .pyc, .pyd, .pyw, .pyz
Tinklalapiswww.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

redaguoti
  • 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
  • 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
  • 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

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

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
  1. „Python 0.9.1 part 01/21“. Nuoroda tikrinta 2023-05-26.
  2. „Python 3.12.2 and 3.11.8 are now available“. Python Software Foundation. Nuoroda tikrinta 2024-02-07.
  3. C++ g++ versus Python 3 fastest programs. The Computer Language Benchmarks Game [1] Archyvuota kopija 2021-06-02 iš Wayback Machine projekto.
  4. 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.
  5. Numpy tinklalapis, numpy.org

Nuorodos

redaguoti