Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Migration of unmigrated content due to installation of a new plugin

...

Pythonissa

...

voi

...

-

...

niinkuin

...

useimmissa

...

ohjelmointikielissä

...

-

...

määrittää

...

omia

...

funktioita.

...

Funktiot

...

ovat

...

toiselta

...

nimeltään

...

aliohjelmia

...

ja

...

tämän

...

nimen

...

mukaisesti

...

ne

...

ovat

...

eräänlaisia

...

pääohjelman

...

(tai

...

pääfunktion)

...

sisällä

...

ajettavia

...

pikkuohjelmia,

...

jotka

...

suorittavat

...

jonkun

...

oman

...

tehtävän.

...

Ohjelman

...

jakaminen

...

näin

...

pienempiin

...

suoritettaviin

...

osiin

...

helpottaa

...

ohjelmointia

...

monella

...

tapaa.

...


 
Ensinnäkin,

...

jos

...

ohjelmassa

...

tarvitan

...

samaa

...

toimintoa

...

tai

...

operaatiota

...

monessa

...

kohtaa,

...

on

...

yksinkertaista

...

tehdä

...

funktio

...

toimintoa

...

varten

...

ja

...

kutsua

...

sitä

...

aina

...

kun

...

tarvitaan

...

sen

...

sijaan,

...

että

...

kirjoittaisi

...

saman

...

koodin

...

useaan

...

paikkaan

...

ohjelmaa.

...

Ja

...

jos

...

toimintoa

...

joutuu

...

jostain

...

syystä

...

muuttamaan,

...

muutos

...

tarvitsee

...

tehdä

...

vain

...

yhteen

...

paikkaan

...

kun

...

käyttää

...

funktioita.

...


 
Lisäksi,

...

kun

...

tekee

...

yleishyödyllisiä

...

funktioita

...

ja

...

kirjoittaa

...

ne

...

omaan

...

moduuliin,

...

niin

...

ne

...

saadaan

...

helposti

...

käyttöön

...

toisessakin

...

ohjelmassa

...

moduulin

...

lataamalla.

...

Tätä

...

ominaisuutta

...

ollaankin

...

hyödynnetty

...

tähän

...

asti

...

käyttämällä

...

mm.

...

math

...

moduulin

...

funktioita.
 
Pythonissa funktion luominen onnistuu avainsanalla def, jota seuraa funktion nimi ja sulkumerkit - rivi päättyy kaksoispisteeseen. Tämän jälkeen tulee lohko, joka sisältää koodin, jonka funktio suorittaa.
 
Tässä luodaan yksinkertainen funktio, jossa tulostetaan merkkijono. Funktiota kutsutaan pari kertaa ohjelman aikana.

Code Block

 
Pythonissa funktion luominen onnistuu avainsanalla def, jota seuraa funktion nimi ja sulkumerkit - rivi päättyy kaksoispisteeseen. Tämän jälkeen tulee lohko, joka sisältää koodin, jonka funktio suorittaa.
 
Tässä luodaan yksinkertainen funktio, jossa tulostetaan merkkijono. Funktiota kutsutaan pari kertaa ohjelman aikana.

{code}
def Message():
    print("Tulostus itse tehdystä funktiosta.")

print("Funktio luotiin juuri.")

Message()

print("Funktiota kutsuttiin juuri... vielä uudestaan.")

Message()

input("Paina Enter näppäintä lopettaaksesi...")
{code}

Samoinkuin

...

moduuleihin,

...

funktioille

...

voi

...

tehdä

...

dokumentaatio

...

merkkijonon.

...

Sen

...

saa

...

näkyviin

...

samalla

...

tapaa

...

eli

...

_

...

doc

...

_

...

muuttujan

...

kautta

...

käyttämällä

...

pisteoperaattoria

...

funktion

...

nimeen

...

(ilman

...

sulkeita).

...

Funktion

...

dokumentaatio

...

tulee

...

myös

...

näkyviin

...

-

...

pienessä

...

keltaisessa

...

laatikossa

...

-

...

kirjoitettaessa

...

ensimmäisen

...

sulkeen

...

funktion

...

nimen

...

jälkeen.

...

Tämä

...

ei

...

aina

...

näy

...

IDLE;n

...

koodieditorissa,

...

mutta

...

interaktiivisessa

...

ohjelmoinnissa

...

kylläkin

...

-

...

niinkuin

...

sisäänrakennettujen

...

funktioiden

...

tapauksessa

...

on

...

näkynyt.
 
Kokeillaan määrittää funktio interaktiivisessa ohjelmoinnissa. Interaktiivinen ohjelmointi hyväksyy usean rivin funktion määrityksen kaltaisissa sisennetyissä koodirakenteissa - tässä lohko loppuu tyhjään riviin. Kirjoita seuraava funktio ja huomaa dokumentaation ilmestyminen sulkumerkkiä lisätessä - samoin funktiota print kirjoittaessa näkyy sen dokumentaatio.

Code Block

 
Kokeillaan määrittää funktio interaktiivisessa ohjelmoinnissa. Interaktiivinen ohjelmointi hyväksyy usean rivin funktion määrityksen kaltaisissa sisennetyissä koodirakenteissa - tässä lohko loppuu tyhjään riviin. Kirjoita seuraava funktio ja huomaa dokumentaation ilmestyminen sulkumerkkiä lisätessä - samoin funktiota print kirjoittaessa näkyy sen dokumentaatio.

{code}
>>> def Documentation():
        """Funktion dokumentaatio..."""
        print(4 * 3)
  
     
>>> Documentation()
12
>>>
{code}

Pythonin

...

funktion

...

määritämisestä

...

kannattaa

...

huomata

...

myös

...

se,

...

että

...

koska

...

Python

...

on

...

tulkattava

...

kieli

...

funktiot

...

luodaan

...

ohjelman

...

ajon

...

aikana

...

-

...

joissain

...

muissa

...

kielissä

...

tämä

...

tapahtuu

...

ohjelmaa

...

käännettäessä.

...

Tämän

...

takia

...

funktion

...

määrittelyä

...

voi

...

sisällyttää

...

esimerkiksi

...

valinta

...

rakenteisiin,

...

jolloin

...

ajon

...

aikana

...

ohjelmassa

...

voidaan

...

päättää

...

miten

...

jokin

...

funktio

...

luodaan.

...


 
Tämä on joskus hyödyllinen ominaisuus, koska aina ohjelmaa kirjoitettaessa ei voi olla varma mihin laitteistoon ja käyttöjärjestelmään ohjelma joutuu. Vaikka Python onkin varsin alusta riippumaton, joskus jotkin asiat täytyy tehdä eri tavalla.