Šta ako ne znamo broj argumenata funkcije?

U Pajtonu možemo pisati i funkcije za koje ne znamo broj argumenata koji će biti prosleđen prilikom poziva funkcije.
To se realizuje tako sto parametru funkcije dodamo *

U sledećem primeru je napisana funkcija za koju se ne zna koliko će tačno argumenata biti prosleđeno. Funkcija se poziva sa npr. sedam argumenata.

  
def brojevi(*args):
   print ("U nagradnoj igri su izvuceni brojevi: "), args

brojevi(3, 7, 15, 21, 29, 32, 37)

            
Kopiraj

Nakon pokretanja programa kao rezultat dobićemo:
>> U nagradnoj igri su izvučeni brojevi: (3, 7, 15, 21, 29, 32, 37)


Argumenti funkcije mogu biti i tipa string. To je demonstrirano u sledećem primeru.

  
def samoglasnici(*args):
   print ("Ovo su samoglasnici:"), args
   
samoglasnici("a", "e", "i", "o", "u")

            
Kopiraj

Nakon pokretanja programa kao rezultat dobićemo:
>> Ovo su samoglasnici: ("a", "e", "i", "o", "u")


Poziv funkcije unutar neke druge funkcije

Dozvoljeno je da jedna funkcija bude pozvana unutar tela neke druge funkcije.

U sledećem primeru su napisane dve funkcije, tako da funkcija ispisi_kvadrat unutar svog tela poziva funkciju kvadrat.

  
def kvadrat(n):
    return n*n

def ispisi_kvadrat(n):
    x=kvadrat(n)
    print ("Kvadrat trazenog broja je: "),x

print (ispisi_kvadrat(5))

            
Kopiraj

Nakon pokretanja programa kao rezultat dobićemo:
>> Kvadrat trazenog broja je: 25


Evo još jednog primera kada jedna funkcija poziva drugu funkciju.

  
def proizvod(a,b):
    return a*b

def povrsina_pravougaonika (x, y):
    print (" Povrsina pravougaonika je: "), proizvod(x, y)

print (povrsina_pravougaonika (3, 5))

            
Kopiraj

Nakon pokretanja programa kao rezultat dobićemo:
>> Povrsina pravougaonika je: 15