Edukira joan

Python (informatika)

Wikipedia, Entziklopedia askea
Python (informatika)
ParadigmaMultiparadigma, Objektuetara bideratutako programazioa, inperatiboa, prozedimental, funtzionala
DiseinatzaileaGuido van Rossum
GaratzaileaPython Software Foundation
Agerpena1991
Kaleratze Egonkorra3.6.1 (2016-12-17)
Sistema EragileaMultiplataforma
LizentziaPython Software Foundation License
Webguneahttp://www.python.org
Inplementazioak
CPython, Jython, IronPython, Pypy
Dialektoak
Stackless Python, RPython, Cython
Eragina
ABC, ALGOL 68, C, C++, Dylan, Haskell, Icon, Java, Lisp, Modula-3, Perl
Eragindua
Ruby, Boo, Groovy

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

Paradigma anitzeko lengoaia bat da, objetuetara 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.

Historia

Sorrera

Python 80ko hamarkadaren bukaeran izan zen sortua Herbeheretako Matematika eta Informatikako zentroan (CWI, Centrum Wiskunde & Informatica) Guido van Rossum-en eskutik.[1] Lengoaia ABC lengoaiaren ondorengo gisa sortu zen, salbuespenak (exception, ingeleraz) kudeatu eta Amoeba sistema eragilearekin elkar eragin zezakeen hizkuntza zen.[2]

Guido van Rossum

Lengoaiaren izena Monty Python umoristen omenez dago jarrita, hauekiko sortzailearen afizioa zela eta.[3]

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.[4]

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.[1] Pythonen salbuespenak tratatzeko modua Modula-3-renaren oso antzerakoa da, else klausularen gehigarriarekin ere.[2] 1994an com.lang.python eztabaida-foroa sortu zen, Pythonen erabiltzaile-komunitatean itzelezko hazkuntza ekarri zuena.

Python 1.0

Pythonen 1.0 bertsioa 1994ko urtarrilean plazaratu zen. Argitaratze horrekin batera programazio funtzionalaren hainbat erreminta berriak etorri ziren izan ziren: lambda, reduce, filter eta map. Van Rossumek hau esan zuen: "Duela 12 urte, reduce(), filter() eta map() funtzionalitateak falta zirenean, hutsune horiek betetzeko adabakiak bidali zituen Lisp-eko hacker batek".[5] 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.[6] 2007an CP4E kanpainari utzi zion.[7]

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.[8]

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 1.6.1 eta Python 1.6 bertsioak oso antzezekoak ziren, errore batzuen konponketekin eta GPLrekin bateragarria den lizentzia berri batekin.

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.[9]

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.[10] Icon lengoaian oinarritutako generatzaileak ere gehituak izan ziren bertsio berri honetan.[11]

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;[12] SAX parserra, 2.0 bertsioan gehitu zen.

Python Hello word

Python 3.0

Python 3.0 2008. urtean sortu zen. Zenbait hobekuntza garrantzitsu dauzka, baina arazoa da gaur egun oso lagungarri diren hainbat eta hainbat programa liburutegi oraindik Python2 bertsioan eskaintzen direla.

Ezaugarriak

Paradigma anitzeko programazio lengoaia da Python. Objektuetara bideratutako programazioa edo programazio egituratua, baita programazio funtzionala edo aspektuetarako bideratutako programazioa baimentzen baititu.

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.

Sintaxia

Kaixo mundua adibidea (python2):

print "Hello, world!"

Kaixo mundua adibidea (python3):

print ("Kaixo mundua!")

Zenbaki baten faktoriala (python3):

n=int(input('Sakatu zenbaki bat, bere faktoriala kalkulatzeko: '))
if n <= 0:
    print ("Errorea: zenbakia positiboa behar da");
else:
    fakt = 1
    i = 2
    while i <= n:
         fakt = fakt * i	
          i = i+1
    print (fakt)

Erreferentziak

  1. a b «The Making of Python» www.artima.com (kontsulta data: 2019-07-04).
  2. a b «General Python FAQ — Python 3.7.4rc2 documentation» docs.python.org (kontsulta data: 2019-07-04).
  3. «1. Whetting Your Appetite — Python 3.7.4rc2 documentation» docs.python.org (kontsulta data: 2019-07-04).
  4. «Guido van Rossum dimite como líder de Python – La mirada del replicante» web.archive.org 2018-07-12 (kontsulta data: 2019-07-04).
  5. «The fate of reduce() in Python 3000» www.artima.com (kontsulta data: 2019-07-04).
  6. «Computer Programming for Everybody» web.archive.org 2009-02-23 (kontsulta data: 2019-07-04).
  7. «Computer Programming for Everybody» web.archive.org 2007-03-12 (kontsulta data: 2019-07-04).
  8. «What's New in Python 2.0» web.archive.org 2007-03-29 (kontsulta data: 2019-07-04).
  9. «History and License — Python 3.7.4rc2 documentation» docs.python.org (kontsulta data: 2019-07-04).
  10. «What’s New in Python 2.2 — Python 3.7.4rc2 documentation» docs.python.org (kontsulta data: 2019-07-04).
  11. «What’s New in Python 2.2 — Python 3.7.4rc2 documentation» docs.python.org (kontsulta data: 2019-07-04).
  12. (Ingelesez) «PEP 282 -- A Logging System» Python.org (kontsulta data: 2019-07-04).

Kanpo loturak

Wikimedia Commonsen badira fitxategi gehiago, gai hau dutenak: Python (informatika) Aldatu lotura Wikidatan


Informatika Artikulu hau informatikari buruzko zirriborroa da. Wikipedia lagun dezakezu edukia osatuz.