Ysin teoria
Funktioteoria
HUOMATKAA! SISENNYS TEHDÄÄN NAPILLA TAB (NÄPPÄIMISTÖN VASEN YLÄKULMA)
Parametri
Funktiosta saa monipuolisemman, kun sille antaa parametreja. Parametrit ovat muuttujia, jotka määritellään funktion ylimmällä rivillä funktion nimen jälkeen olevissa sulkeissa. Kun funktiota kutsutaan, niin sen parametreille annetaan arvot kutsuvaiheessa. Jos funktiolle halutaan antaa useampia parametreja, niin ne erotetaan pilkulla toisistaan. Parametrilista voi olla myös tyhjä, jolloin lisätään vain tyhjät sulkeet ().
|
KOODI |
OHJELMA TULOSTAA RUUDULLE |
|
def sanoTerve(nimi, vuosiluokka, ryhmä): |
Terve vaan Mikko! |
Myös listaa voi käyttää parametrina.
|
KOODI |
OHJELMA TULOSTAA RUUDULLE |
|
def tulostaAlkiot(lista): |
1 |
Huomaa, että parametrin nimi funktion sisällä voi olla mikä tahansa. Nimen ei tarvitse olla sama kuin kutsuvassa ohjelmassa. Yllä olevassa koodissa listaa kutsutaan metodin sisällä lista, metodin kutsuja näkee saman listan luvut-nimisenä.
Parametreilla voi olla myös oletusarvot, joita käytetään, mikäli käyttäjä ei halua tai muista antaa arvoa.
|
KOODI |
OHJELMA TULOSTAA RUUDULLE |
|
def sano (viesti, kerroin=1): kerroin=int(input("Anna ensimmäinen kerroin: ")) |
Anna ensimmäinen kerroin: 6 |
punaiset numerot = käyttäjän antama luku ajoikkunassa
Paluuarvo
Paluuarvo on funktion osa, joka suorittaa funktiosta poistumisen. Paluuarvo hoitaa myös mahdollisen muuttuja-arvon palauttamisen. Pythonissa paluuarvoa varten on varattu return.
Funktion paluuarvoa ei tarvitse sijoittaa muuttujaan, vaan se voi olla osana tulostuslausetta kuten muutkin muuttujat. Palautettava arvo voi olla mikä tahansa tietotyyppi. Return-lause voidaan kirjoittaa myös ilman palautusarvoa, jolloin tulkki palauttaa arvon ’None’.
|
KOODI |
OHJELMA TULOSTAA RUUDULLE |
|
def summa (eka,toka): eka=int(input("Anna ensimmäinen kokonaisluku: ")) print("Lukujen summa on: " + str(summa(eka,toka))) |
Anna ensimmäinen kokonaisluku: 8 |
punaiset numerot = käyttäjän antama luku ajoikkunassa
kursivoitu ja alleviivattu = muuttujien avulla laskettu/tulostettu luku
Muuttujat funktioissa
Funktion sisäisiä muuttujia sanotaan paikallisiksi, koska ne näkyvät vain oman funktion sisällä. Jos luot funktion sisällä muuttujan luku, niin tämä muuttuja on käytettävissä ainoastaan sen funktion sisälle, johon se luotiin. Voit luoda jokaiseen alifunktioon muuttujan luku, koska jokainen funktio toimii omassa nimiavaruudessa. Tästä johtuen funktioiden välillä muuttujilla ei ole mitään yhteyttä.
|
KOODI |
OHJELMA TULOSTAA RUUDULLE |
|
def func(x): x=50 |
x on ennen funktiota 50 |
Useampia funktioita
Funktioita kutsutaan pääohjelmasta sen tunnisteella. Kutsuun liitetään sulkeisiin funktiolle välitettävät parametrit. Parametrien määrän ja tyyppien on vastattava toisiaan.
Yleinen ja selkein tapa on kirjoittaa funktiot ohjelman alkuun tai omaksi tiedostoksi.
|
KOODI |
OHJELMA TULOSTAA RUUDULLE |
|
#esimerkkejä aliohjelmista def sano_moi(): #ei yhtään parametria def sano_hei(nimi): #yksi parametri def sano_paivaa(etu,suku): #kaksi parametria def kolmen_summa(a, b, c): #kolme parametria #pääohjelma, jossa kutsutaan määriteltyjä funktioita |