Korišćenje tuplea i rečnika kao argumenata prilikom pozivanja funkcija

17.6 Korišćenje tuplea i rečnika kao argumenata prilikom pozivanja funkcija 

Već sam ti ovo pokazao u delu tutorijala u kom sam objašnjavao pozivanje funkcija, ali nikada nije loše ponoviti neke stvari. Video si da postoji poseban način definisanja funkcija kako bi one primale promenljiv broj parametara koje će se skupiti tuple ili rečnik. To se postiže korišćenjem oznaka * ili ** kao prefiks imena parametra. Ovo može biti korisno za kreiranje funkcije za prikaz menija programa:
>>> def meni(*opcije): 
...     print('MENI:\n(molimo izaberite opciju)\n\n') 
...     br = 1 
...     for i in opcije: 
...             print('{:2} {}.'.format(br, i)) 
...             br += 1 
...     print('\n') 
...     s = int(input('\nTvoj izbor je:\n*>>> ')) 
...     return opcije[s-1] 
... 
>>> meni('program', 'opcije', 'modul', 'izlaz') 
MENI: 
(molimo izaberite opciju) 


 1 program. 
 2 opcije. 
 3 modul. 
 4 izlaz. 



Tvoj izbor je: 
*>>> 1 
'program' 
>>> 
Zato što smo definisali prefiks * ispred imena promenljive opcije svi argumenti koje prosleđujemo funkciji će biti sačuvani u tupleu koji nosi isto ime kao promenljiva opcije. Ako bi smo umeso *, koristili prefiks **, argumenti prosleđeni ovoj funkciji bi se smatrali kao da su parovi ključ : vrednost unutar rečnika sa imenom opcije.

17.5 Kompresovanje
lista
Indeks 17.7 Naredba assert

Primjedbe

Popularno ovog meseca

Gde pronaći novosti sa facebook stranica nakon velike promene koja ga je zadesila?

Dva načina da vratite svoj Windows 10 na fabričke vrednosti

Kako preuzeti video koji je neko postavio na facebook-u bez upotrebe dodatnih programa?

Više neće biti moguć besplatan prelazak na Windows 10

Prijateljski meč ŠK "Titel" - ŠK "Bukovac"

Kako manipulisati Windows licencom pomoću slmgr komande?

Tu je novi Qt creator 4.4.0!

Fake poet

Da li je poželjno biti anoniman na internetu (ili se predstavljati punim imenom i prezimenom)?

Kosmička era može da počne! 10, 9, 8, 7.... Naravno, pre 60 godina...