Vijugavi put - Platforma za učenje programskog jezika Python®

Funkcije - višestruko upotrebljiv kôd

Često je potrebno više puta uraditi istu ili sličnu stvar. Da bi se izbeglo ponavljanje i bespotrebno pisanje istog ili jako sličnog kôda koriste se funkcije.

Funkcije se stvaraju pomoću ključne reči def posle koje se navede željeno ime funkcije. Zatim slede dvotačka i na kraju deo kôda koji se želi ugraditi u funkciju.

def mojaFunkcija():
    print("Pozdrav iz moje funkcije!")

Sav kôd koji je uvučen na prvom nivou u odnosu na liniju u kojoj je definisana funkcija smatraće se delom funkcije.

Izvršavanje funkcija

Funkcije se neće izvršavati sve dok ne bude pozvana. Da bi se navedena funkcija izvršila potrebno je pozvati navođenjem imena.

mojaFunkcija()

Promenljivo ponašanje funkcija - argumenti funkcija

Kada je potrebno da funkcija bude prilagodljiva moguće je koristiti argumente.

def reciKoSam(ime):
    print("Ti si:", ime)
reciKoSam("Dušan") # Ti si: Dušan
reciKoSam("Dule") # Ti si: Dule

Funkcije sa više argumenata

Prema potrebi funkcije mogu imati više od jednog argumenta.

def reciKoSam(ime, prezime):
    print("Ti si:", ime, prezime)
reciKoSam("Dušan", "Rešin") # Ti si: Dušan Rešin

Ispravan broj argumenata

Broj argumenata koji se prosleđuje pri pozivu funkcije mora biti isti kao i broj argumenata u definiciji funkcije. U suprotnom, doći će do greške.

def reciKoSam(ime, prezime):
    print("Ti si:", ime, prezime)
reciKoSam("Dušan") # Greška! Funkcija po definiciji zahteva dva argumenta a prosleđuje se samo jedan.

def reciKoSam(ime):
    print("Ti si:", ime)
reciKoSam("Dušan", "Rešin") # Greška! Funkcija po definiciji zahteva samo jedan argument a prosleđuju se dva.

Podrazumevani argumenti funkcije - parametri

Moguće je zadati podrazumevane vrednosti argumenata funkcije. U tom slučaju pri pozivu funkcije neće doći do greške ako se ne navedu argumenti za koje postoji podrazumevana vrednost. Zadavanje podrazumevanih vrednosti kao parametara vrši se prilikom definicije funkcije.

def reciKoSam(ime = "Petar", prezime = "Petrović"):
    print("Ti si:", ime, prezime)
reciKoSam() # Ti si: Petar Petrović