Python (informatika)

**Python** interpretatutako programazio lengoaia bat da, ardatz bezala sintaxi garbi, erraz eta irakurgarri bat duelarik.

Paradigma anitzeko lengoaia bat da, objektuetara zuzenduriko programazioa, programazio inperatiboa eta, neurri txiki batean, programazio funtzionala jasaten ditu eta. Lengoaia interpretatu eta multiplataforma da.

Python Software Foundation-ek administratzen du. Kode zabaleko lizentzia bat dauka, Python Software Foundation License izenekoa, GNU-ren 2.1.1 lizentzia publiko orokorrarekin bateragarria.

Adimen artifizala eta hizkuntzaren prozesamendurako python-tresneria oso erabilgarriak eskaintzen dira, esate baterako, Spacy.io-
Fitxategi:PYthon Altadill azala sinple tx.png|*Kodea ondo sartzek* liburua, copyleft lizentziapean.
Fitxategi:Liburua - Python progrmazio-lengoaiaren hastapenak.png|  *Python programazio-lengoaiaren hastapenak*
Fitxategi:Python euskaraz.jpg|*Python programazio-lengoaia: oinarriak eta aplikazioak Lengoaia ABC lengoaiaren ondorengo gisa sortu zen, salbuespenak (exception, ingeleraz) kudeatu eta Amoeba sistema eragilearekin elkar eragin zezakeen hizkuntza zen.
thumb|225x225px|Guido van Rossum|alt=
Lengoaiaren izena Monty Python umoristen omenez dago jarrita, hauekiko sortzailearen afizioa zela eta.

Python-en egile nagusia van Rossum da, eta lengoaiaren norabidea etengabe erabakitzen egiten duen lana errekonozitu egiten zaiola-eta askotan BDFL edo *Benevolent Dictator for Life* gisa ezaguna da.2018ko uztailaren 12 utzi zion ardura hori baina.

1991an, van Rossum-ek 0.9.0 bertsioaren kodea argitaratu zuen *alt.sources*-en. Garapen-egoera hartan bazeuden herentziadun klaseak, salbuespenen kudeaketa, funtzioak eta `str, list` eta `dict` bezalako mota modularrak. Hasierako argitaratze hartaz gain, *Modula-3* ren antzerakoa zen modulu-sistema bat argitaratu zuen; van Rossum-ek esan zuen modulu hura "Python-en programazio-unitate handiena" zela. Emailea Amrit Prem izan zen; argitaratze oharretan Lisp-i buruz ez da inolako aipamenik egiten baina.

CWI-k argitaratutako Python azken bertsio askea Python 1.2 izan zen. 1995ean, van Rossum-ek lengoaian lanean jarraitu zuen Virginiako *Corporation for National Research Initiatives*-en (CNRI), lengoaiaren zenbait bertsio berri argitaratu zituen bertan.

CNRI-an zegoelarik, van Rossum-ek *Computer Programming for Everybody* (CP4E) ekimena abiarazi zuen, programazioa jendearentzat ulergarriago eta erabilgarriago egiteko asmoz. Python-ek *, bere sintaxi garbi eta erraza zirela-eta, programazioa irakasteko alfabetizatze-kanpaina* hartan zeresan handia eman zuen. DARPA agentziak babestu zuen proiektua. 2007an CP4E kanpainari utzi zion.

Python 1.6.1 eta Python 1.6 bertsioak oso antzezekoak ziren, errore batzuen konponketekin eta GPLrekin bateragarria den lizentzia berri batekin.

### Python 2.0 
2000. urtean Python garapen-taldearen gehiengoa BeOpen.com-era pasatu zen, BeOpen PythonLabs taldea sortuz. CNRIk 1.6 bertsioa publikoa izatea eskatu zuen, garapen horretan aritu ziren taldeak CNRItik alde egin zuen arte. BeOpen.com-en argitaratze bakarra Python 2.0 izan zen. Honen ostean, Guido van Rossum eta PythonLabs-eko gainontzeko garatzaileak Digital Creations taldean batu ziren berriro.

Python 2.0-k Haskell lengoaia funtzionalaren ezaugarri nagusi bat hartu zuen: konpresio bidezko listak. Egitura horretarako Python sintaxiak Haskell lengoaiaren itxura du, desberdintasun txiki batzuk ezik. Python 2.0-k, gainera, zabor-biltze sistema bat garatu zuen, erreferentzia ziklikoak batu eta bildu ahal izateko.

Argitalpen bikoitz horren ostean, eta van Rossum-ek CNRI utzi ostean (software komertzialeko garatzaileekin lan egiteko), Python GNU GPLn oinarritutako softwarearekin erabiltzeko ideia zabaldu zen. Ordura arte erabilitako lizentziak, Python License-ak, lizentzia Virginiako estatuak kudeatzen zuela adierazten zuen klausula bat zuen, eta hori ez zenbateragarria GPL lizentziarekin. CNRIk eta FSFk (Free Software Foundation) bat egin zuten Pythonen lizentzia GPL lizentzia librearekin bateragarria egiteko. 2001. urtean, van Rossumi *FSF Award for the Advancement of Free Software* saria eman zioten.

Python 2.1 bertsioa Python 1.6.1 eta Python 2.0-ren lan deribatua da. Bere lizentzia Python Software Foundation License bezala izendatu zen. Python 2.1 alfa bertsiotik aurrerako kode, dokumentazio eta espezifikazio gutziak Python Software Foundation (PSF) dute jabetzat, 2001 ean irabazasmorik gabeko elkartea.

Python 2.2 bertsioaren berritasun nagusi bat Pythoneko moten eta klaseen hierarkia batean bateratzea izan zen. Bateratzeak objektu-eredu kontsistente eta puru bat ekarri zuen. Icon lengoaian oinarritutako generatzaileak ere gehituak izan ziren bertsio berri honetan.

Python liburutegi estandarraz gain, mota askotako gehigarriek Java-ren eragin handi bat dute: `logging` paketea, 2.3 bertsioan gehitua izan zena, log4j-en oinarritua dago; SAX parserra, 2.0 bertsioan gehitu zen.
### Python 3.0 
thumb|Formula bat kalkulatzen duen Python programa sinple bat.|alt=|400x400px
thumb|Formula bat kalkulatzen duen Python programa sinple baten exekuzioaren adibidea.|alt=|400x400px
Python 3.0 (Python 3000 edo py3k ere deitua) 2008an sortu zen. Bertsio hark funtsezko aldaketa batzuk ekarri zituen, baina ez zen bateragarria aurreko bertsioaren programekin. Oso aldaketa tipikoa da `print`funtzioaren argumentuak parentesien arte idatzi behar direla 3. bertsioan baina ez 2. bertsioan. Oso lagungarri diren zenbait programa-liburutegi oraindik Python2 bertsioan bakarrik eskaintzen dira. Python 3.0 bertsioaren ezaugarri berri asko Python 2 lengoaiara ere eraman izan ziren geroago eta Python 2.7 bertsioa sortu zuten horrela.
## Ezaugarriak 
Paradigma anitzeko programazio-lengoaia da Python. Objektuetara bideratutako programazioa edo programazio egituratua, baita programazio funtzionala edo aspektuetarako bideratutako programazioa baimentzen baititu. *Programazio logikoa* eta *kontratu bidezko diseinua* ere erabil daitezke lengoaiaren luzapenen bitartez. Lengoaiaren ezaugarri horiek kontuan hartzen dira beste lengoaiekin konparatzen denean.

Python bidez idatzitako kodea oso trinko eta irakurgarria izan ohi da, horri begira diseinatuta dago-eta. Trinkoa da, beste arrazoi batzuez gain duen ezaugarri bati esker: aldagaiak ez dira deklaratu/erazagutu behar; erabili ahala esleitzen baitzaie mota.

Python lengoaia sinple, ulergarria eta ahaltsua da. Lengoaiak bere barruan dakarren funtzionalitatea ez da oso zabala, baina oso erraza da oinarrizko muin hori zabaltzea. Modulu eta metodo ahaltsu asko erraz aurkitzen dira sarean, eta gehienetan lizentzia libre batekin. Horrela, esate baterako, erraz txertatu daiteke interfaze programagarria behar duten aplikazioetan. Bereziki egokia da string-en tratamendu sakona eta hiztegi-bilaketa asko egin behar dituzten programazio-problemak bideratzeko.

### Enpresa handietan 
Enpresa handi askotan erabiltzen da Python, besteak beste hauetan: Google, Yahoo, CERN eta NASA.

## Sintaxia 
Idazkera trinkoa du, beste arrazoi batzuez gain duen ezaugarri bati esker: aldagaiak ez dira deklaratu/erazagutu behar; erabili ahala esleitzen baitzaie mota. Hau errore-iturri arriskutsua izan badaiteke ere, interpretatzaileak errore asko detektatzen ditu exekuzio-garaian.

Bestalde interpretazioa eraginkorra izan dadin programen formatua eta programazio-egitura batzuk zurrun samarrak dira. Hauek dira kontuan hartzeko xehetasun garrantzitsu batzuk: Spyderrek Pythonerako hainbat pakete zientifiko ospetsu integratzen ditu, besteak beste, NumPy, SciPy, Matplotlib, pandas, IPython, SymPy eta Cython, baita kode irekiko beste software batzuk ere.  MIT lizentziarekin banatzen da.
* Jupiter Notebook web-zerbitzuak Python programak exekutatu eta garatzeko aukera ematen du sarearen bitartez, norberaren konputagailu edo telefonoan ezer instalatu gabe.
* Anaconda Python banaketa

Fitxategi:Spyder logo.svg|Spyder logo
Fitxategi:Keras_logo.svg|Keras (sare neuronalak)
Fitxategi:Pytorch logo.png|Pytorch (sare neuronalak)
Fitxategi:NumPy logo.svg|Numpy
Fitxategi:IPython Logo.png|IPython
Fitxategi:Pandas logo.png|Pandas
Fitxategi:Sympy-160px.png|Sympy
Fitxategi:Gaussian curvature.svg|SciPy

## Erreferentziak 
## Bibliografia 
* Alegria, I., Perez de Viñaspre Garralda, O., & Sarasola, K. (2016). *Python programazio-lengoaia: oinarriak eta aplikazioak / Iñaki Alegria Loinaz, Olatz Perez de Viñaspre Garralda, Kepa Sarasola Gabiola*. Bilbo: : Udako Euskal Unibertsitatea eta Euskal Herriko Unibertsitatea.
* Galarraga Solabarrieta, E., & Sarasketa Gojenola, A. (2018). *Python programazio-lengoaiaren hastapenak [Interneteko baliabidea]: : Lanbide Heziketako eta Batxilergoko ikasleentzako programazioaren oinarriak / egilea, Eider Galarraga ; zuzentzailea, Ane Sarasketa*. Eibar: Irale.
* *Altadill Izura, Pello Xabier. Kodea ondo sartzek* liburua (2024), copyleft lizentziapean, PDF eta ODT formatuetan. Python lengoaian oinarritzen da eta programazioaren hastapenak lantzen ditu. Gainera eduki guztia repl.it gunean ere irakur daiteke.

## Ikus, gainera 
* Programazio-lengoaien arteko konparazioa
* Spyder (softwarea)
* Pytorch
* Keras

## Kanpo estekak 
*  Python lengoaiaren web gune ofiziala
* «spaCy · Industrial-strength Natural Language Processing in Python»&#x20;*spacy.io*
* *Kodea ondo sartzek* liburua, copyleft lizentziapean, PDF eta ODT formatuetan. Python lengoaian oinarritzen da eta programazioaren hastapenak lantzen ditu. Gainera eduki guztia *repl.it* gunean ere irakur daiteke.
* PYTHON programazio-lengoaia: oinarriak eta aplikazioak liburuko hainbat programaren kodea libreki deskargatzeko gunea
* *: Lanbide Heziketako eta Batxilergoko ikasleentzako programazioaren oinarriak Galarraga Solabarrieta, E., & Sarasketa Gojenola, A. (2018). Egilea, Eider Galarraga ; zuzentzailea, Ane Sarasketa''. Eibar: Irale.
* Sudokuak ebazteko gai den Python programa bat (Igor Leturia, Eibar.org, 2021)