Funktiot

Ohjelmat, jotka olemme tähän asti kirjoittaneet, ovat olleet melko yksinkertaisia. Kun kirjoitamme monimutkaisempia ohjelmia tai ohjelmia, jotka tekevät useita erilaisia asioita, on hyödyllistä jakaa ohjelma pienempiin osiin. Funktiot ovat yksi tapa tehdä tämä. Ohjelmoinnissa vastaavasti kuin matematiikassa funktiolle syötetään arvoja (parametrit) ja funktio tekee jotain näillä arvoilla ja palauttaa tuloksen. Tätä voidaan havainnollistaa seuraavasti:

parametri(t)f(parametri(t))paluuarvo(t)parametri(t) \rightarrow \boxed{f(parametri(t))} \rightarrow paluuarvo(t)

Funktio on siis kuin musta laatikko, joka ottaa sisäänsä parametreja, tekee jotain niillä ja palauttaa tuloksen. Pythonissa funktio määritellään def-avainsanalla, jota seuraa funktion nimi ja sulkeet, joissa määritellään parametrit. Esimerkiksi:

def funktio(parametri1, parametri2):
    # Ohjelmakoodi, joka käyttää parametreja
    return paluuarvo

Tässä def-avainsana kertoo Pythonille, että määrittelemme funktion. funktio on funktion nimi, ja parametri1 ja parametri2 ovat funktion parametreja. Funktion runko kirjoitetaan sisennettynä funktion määrittelyn alle, ja return-avainsana kertoo, mikä arvo funktio palauttaa.

Esimerkiksi, jos haluamme määritellä funktion, joka laskee kahden luvun summan, voimme kirjoittaa seuraavasti:

def summa(a, b):
    return a + b

Tässä summa-funktio ottaa kaksi parametria, a ja b, ja palauttaa niiden summan. Voimme käyttää tätä funktiota seuraavasti:

tulos = summa(3, 5)
print(tulos)

Tämä ohjelma tulostaa 8, koska summa(3, 5) palauttaa 3 + 5, joka on 8. Kokonaisuudessaan ohjelma näyttää tältä:

def summa(a, b):
    return a + b
 
tulos = summa(3, 5)
print(tulos)

Harjoitus

⏳ Ladataan...--/-- pistettä