Python
Wikipedia
Kuva: | |
Paradigma | olio, proseduraalinen |
Tyypitys | vahva, dynaaminen |
Yleinen suoritusmalli | tulkattava |
Muistinhallinta | roskienkeruu |
Julkaistu | 1990 |
Kehittäjä | Guido van Rossum |
Viimeisin vakaa versio | 2.5 |
Viimeisin julkaisupäivä | 19. syyskuuta 2006 |
Viimeisin kehitysversio | 2.6a0 |
Merkittävimmät toteutukset | CPython, Jython, IronPython, PyPy |
Vaikutteet | ABC, C, Haskell, Modula-3, Icon, Lisp, Perl, Smalltalk, Tcl |
Vaikuttanut | Ruby, Boo |
Murteet | |
Käyttöjärjestelmä | alustariippumaton |
WWW-sivut | http://www.python.org |
Uutisryhmä | comp.lang.python |
(muokkaa) |
Python on monipuolinen tulkattava ohjelmointikieli, joka on alun perin kehitetty yhdistämään skriptikielten ja tavanomaisten ohjelmointikielten hyvät puolet. Pythonia pidetään helppona oppia sen yksinkertaisen syntaksin ja korkean tason tietorakenteiden takia. Monet suosittelevat sitä ensimmäiseksi ohjelmointikieleksi. Pythonia on usein verrattu sellaisiin kieliin kuin Perl, Java, Ruby, Tcl ja Scheme.
Python on nimetty brittiläisen komediaryhmä Monty Pythonin tunnetun Monty Pythonin lentävä sirkus -tv-sarjan mukaan. Kielen dokumentaation koodiesimerkeissä pyritään välttämään liiallista vakavuutta satunnaisilla viittauksilla ryhmän tuotantoon.
Sisällysluettelo |
[muokkaa] Kieli
Python tukee monenlaisia ohjelmointiparadigmoja eli lähestymistapoja ohjelmointiin: sitä voi käyttää mm. oliopohjaisena, proseduraalisena (tarkemmin sanottuna rakenteellisena) tai funktionaalisena ohjelmointikielenä.
Python on dynaamisesti tyypittävä ohjelmointikieli, eli ohjelmoijan ei tarvitse erikseen määrittää muuttujille tyyppejä. C-ohjelmoija saattaa tehdä vakavia virheitä Python-ohjelmissa C-kääntäjän tiukan syntaksitarkistuksen puuttuessa, jos hän käyttää naiivia ohjelmointityyliä eikä tarkista muuttujien tyyppiä ja sisältöä ennen niiden käyttöä. Pythonissa on selkeä ilmiasu ja erittäin dynaaminen nimien sidonta.
[muokkaa] Esimerkkejä
Koska Python on tulkattava kieli, sitä voi kokeilla helposti interaktiivisen tulkin avulla:
>>> print "Hello, world!" Hello, world! >>> 2*42 84
Määritellään funktio ja kutsutaan sitä:
def tuntipalkka(palkka, aika): return palkka / aika tuntipalkka(210, 8)
(Paluuarvo: 210/8 = 26)
[muokkaa] Toteutukset
Python-kielestä on tehty useita toteutuksia. Tunnetuimmat ovat C-ohjelmointikielellä tehty alkuperäinen (kielen määrittelevä) toteutus ja Java-ohjelmointikielellä tehty Jython. Muita toteutuksia ovat esimerkiksi IronPython .NET- ja Mono-alustoille sekä Python-kielellä itsellään uudelleentoteutettu, vielä keskeneräinen PyPy.
Python-tulkki ja -kirjastot on kehitetty avoimen lähdekoodin projektina, ja niitä levitetään Pythonin oman lisenssin (Python Software Foundation License) alaisena, joka on yhteensopiva myös GPL-lisenssin kanssa. Pythonin lisenssi sallii lisäksi kaikenlaisen kaupallisen käytön ja jopa kaupallisen uudelleenlevittämisen.
Python-koodin tulkitseminen ja ajoa edeltävä optimointi saattavat joskus olla hitaita prosesseja, ja Pythonia ajetaankin useimmiten tavukoodina hieman Javan tapaan. Tämä vie ohjelman suorituksesta pois yhden hitaammista vaiheista, tulkkaamisen tavukoodiksi; tulkkaamattoman Python-skriptin ajaminen saattaa olla moninkertaisesti tavallisen C-kielisen ohjelman ajamista hitaampaa. Toisaalta suurimmat eroavuudet suorituskyvyssä liittyvät käytettyihin tietorakenteisiin ja algoritmeihin, joten Python-kielinen toteutus ei ole automaattisesti hitaampi. Lisäksi Pythoniin voi tehdä helpohkosti C-kielisiä laajennoksia, jos erityinen nopeus on tarpeen.
[muokkaa] Aiheesta muualla
- Suomenkielinen Python-opas (122ss.)
- Ohjelmointiputka: Python-opas
- Mureakuha: Python-opas
- Perustietoa Python-ohjelmointikielestä
- Python-projektin kotisivu (englanniksi)
- Python-tutoriaali (englanniksi)
- Python-referenssimanuaali (englanniksi)
- Dive Into Python, laaja avoin e-kirja Pythonista (englanniksi)
ALGOL| BASIC| Modula-3 | MUMPS | Plankalkül | PL/I | Simula
Tuotantokäytössä: |
|