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 |
0 Коментари
Pokažite nam šta mislite o ovome!