Python
Programavimo paradigmaFunkcinis programavimas, objektinis programavimas, procedūrinis programavimas, reflektyvusis programavimas
ProjektuotojaiGuido van Rossum
KūrėjaiPython Software Foundation
Išleidimo data1991 m.
Paskutinė stabili versija3.5.0 /
2015 m. rugsėjo 13 d. (2015-09-13)[1]
2.7.10 /
2015 m. gegužės 23 d. (2015-05-23)[2]
Paskutinė išleidimo data2015 m. rugsėjo 13 d. (2015-09-13)
Operacinė sistemaLinux, macOS, Windows Vista (ir naujesnė) bei daugelis kitų
LicencijaPython Software Foundation License
.py, .pyc, .pyd, .pyo, .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ėsKeisti

  • 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

PrivalumaiKeisti

  • 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ūkumaiKeisti

  • 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 įgyvendinimaiKeisti

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žiaiKeisti

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.

NuorodosKeisti

IšnašosKeisti

  1. „Python 3.5.0“. Python Software Foundation. Nuoroda tikrinta 13 September 2015. 
  2. „Python 2.7.10 Release“. Python Software Foundation. Nuoroda tikrinta 24 May 2015. 
  3. C++ g++ versus Python 3 fastest programs. The Computer Language Benchmarks Game [1]
  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


Vikiteka