Python

Straipsnis iš Vikipedijos, laisvosios enciklopedijos.
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ė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ą]

  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

Nuorodos[redaguoti | redaguoti vikitekstą]