Funktsiooni tagastusväärtused

Pythoni funktsioonid, nagu ka paljudes teistes programmeerimiskeeltes funktsioonid, tagastavad väärtusi. Selle eesmärk on liigutada infot tagasi funktsiooni väljakutsunud skoobile.

Selleks, et funktsioonidelt väärtusi tagastada, kasutame return võtmesõna, millega tähistame väärtust, mille funktsiooni lõpus tagastame. Juhul kui me ei täpsusta return võtmesõnaga, mis väärtust soovime tagastada, tagastab Python kaudselt None väärtuse.

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

print(add(2, 3))  # 5

Antud funktsioon arvutab kahe muutuja summa ning tagastab selle.

def add(a, b):
    print(a - b)  # -1

print(add(2, 3))  # None

Siin olukorras me ei täpsustanud, mida meie funktsioon peaks tagastama. Seepärast tagastas Python ise kaudselt None väärtuse, mida näeme originaalses väljakutses.

Attention

Kui kood jõuab return võtmesõnani, siis funktsioon lõpetab jooksmise ja liigub tagasi kohta, kus funktsioon välja kutsuti!

def add(a, b):
    return a + b
    print(a, b)  # Ei jooksutata
    return a - b  # Ei jooksutata

print(add(2, 3))  # 5

Siin koodis tagastatakse ikkagi kahe muutuja summa ning sellele järgnev kood ei jookse kunagi.

print vs return

print on Pythonis üks sisse ehitatud lausetest, mis lubab kasutajal kirjutada teksti programmi standardväljundisse.

Loe veel: Funktsioon print() andmete väljastuseks

Erinevalt return-ist ei peata print funktsiooni jooksmist ning ainult väljastab kasutaja jaoks väärtuse visuaalselt.

def add(a, b):
    print(a - b)  # -1
    return a + b  # Jookseb, kuna print ei peatanud funktsiooni käiku

print(add(2, 3))  # 5

Siin näites kutsusime funktsioonis add lauset print enne välja, mis põhjustas kasutaja jaoks konsooli printimise, ning siis kutsusime return-i, mis tagastas väärtuse algsele koodile.

def add(a, b):
    return a + b
    print(a - b)  # Ei jooksutata

print(add(2, 3))  # 5

Siin näites kutsusime enne välja tagastuse (return), mis tagastas funktsioonist väärtuse ning funktsiooni käik lõpetati. Seepärast ei jõutud kunagi add funktsioonis kutsutud print lauseni.


Enamasti tahame kasutada print käske selleks, et jälgida oma koodi toimivust või anda kasutajale tagasisidet, mida kood teeb.

Juhtudel, kus tahame kasutada funktsiooni töökäigus saadud tulemusi või tahame väliselt kontrollida (nt unit testid), kas kood toimib õigesti, kasutame return-i.

Lisamaterjalid