Siirry sisältöön

Python 2/Yleistä

Wikikirjastosta
(Ohjattu sivulta Python/yleistä)

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.

Python tukee monenlaisia ohjelmointiparadigmoja eli lähestymistapoja ohjelmointiin; sitä voi käyttää mm. olio-suuntautuneena, 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öä.

Python-kielestä on tehty useita toteutuksia. Tunnetuimmat ovat C-ohjelmointikielellä tehty alkuperäinen (kielen määrittelevä) toteutus, Java-ohjelmointikielellä tehty Jython ja .NET-alustalla toimiva IronPython.

Python-tulkki ja -kirjastot on kehitetty avoimen lähdekoodin projektina ja niitä levitetään Pythonin oman lisenssin 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 kaikista hitaimman vaiheen, tulkkaamisen tavukoodiksi. Tulkkaamattoman Python-skriptin ajaminen saattaa olla moninkertaisesti tavallisen C-kielisen ohjelman ajamista hitaampaa.

Python eroaa useimmista muista ohjelmointikielistä erittäin dynaamisen sidonnan vuoksi. Pythonin ympärille rakentuneen ohjelmointikulttuurin mukaan useat ongelmat ratkaistaan kaksi kertaa. Ensin rakennetaan ongelmaan Python-kielinen toteutus. Jos toteutuksesta tulee suosittu, laajaltikäytetty tai muutoin lisää suorituskykyä tarvitseva, niin modulista rakennetaan myös C-kielinen, nopeampi ja vähemmän muistia kuluttava versio. Pythonin selkeä ilmiasu ja erittäin dynaaminen nimien sidonta ovat johtaneet siihen, että yleensä samaan tarkoitukseen ei näe useita Python-kielisiä toteutuksia.

Python/Hello, world!

[muokkaa | muokkaa wikitekstiä]
  • Funktioiden nimet on tapana aloittaa pienellä kirjaimella.
  • Luokkien nimet on tapana aloittaa isolla kirjaimella.

Ensimmäinen ohjelma

[muokkaa | muokkaa wikitekstiä]
  • helppo tapa
print 'Hello, world!'
  • funktio
def helloWorld(string):
    print string

helloWorld('Hello, world!')
  • luokka mukaan
class HelloWorld:
    def __init__(self, string):
        self.string = string

    def printString(self):
        print self.string

HelloWorld('Hello, world!').printString()

Harjoitustehtäviä

[muokkaa | muokkaa wikitekstiä]

Aiheesta muualla

[muokkaa | muokkaa wikitekstiä]