Python 3/Yleistä

Wikikirjastosta
Siirry navigaatioon Siirry hakuun

Python on nimetty brittiläisen komediaryhmä Monty Pythonin tunnetun Monty Pythonin lentävä sirkus -tv-sarjan mukaan.

Kieli[muokkaa | muokkaa wikitekstiä]

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öä.

Toteutukset[muokkaa | muokkaa wikitekstiä]

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.

Skriptin rakenne ja suorittaminen[muokkaa | muokkaa wikitekstiä]

Skirpti-tiedosto aloitetaan koodilla

#!/usr/bin/python3
# -*- coding: utf-8 -*-

Ensimmäisellä rivillä on Python-tulkin sijainti ja toisella rivillä on käytössä oleva merkistökoodaus. Skripti voidaan aja komennolla

python3 tiedosto.py

Python/Hello, world![muokkaa | muokkaa wikitekstiä]

Yleistä[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ä]