Poniamo il caso di avere alcune funzioni con molti parametri e la necessità di dover specificare solo alcuni di essi: in tal caso dovremmo fornire i valori di tali parametri attraverso il loro nome. Ci si riferisce a questo tipo di specificazione come agli argomenti a parola chiave, indicando con il termine 'parola chiave' una chiamata a funzione nella forma 'parolachiave = valore'.
I vantaggi nel chiamare una funzione con argomenti a parola chiave sono essenzialmente due: il primo è che l'approccio stesso alle funzioni è semplificato, dal momento che il programmatore non deve preoccuparsi dell'ordine con cui compaiono gli argomenti; il secondo è che possiamo assegnare dei valori solo ai parametri che vogliamo, dato che per gli altri si possono sfruttare quelli di default.
Esempio 7.6. Usare argomenti a parola chiave
#!/usr/bin/python # Filename: func_key.py def func(a, b=5, c=10): print 'a is', a, 'and b is', b, 'and c is', c func(3, 7) func(25, c=24) func(c=50, a=100)
$ python func_key.py a is 3 and b is 7 and c is 10 a is 25 and b is 5 and c is 24 a is 100 and b is 5 and c is 50
La funzione chiamata func ha un primo parametro
senza valore di default, seguita da altri due parametri con valore
di default.
Nella prima applicazione, func(3, 7), al parametro
a viene assegnato il valore 3, al parametro
b viene assegnato il valore 5 e a
c si assegna di default il valore 10.
Nella seconda applicazione func(25, c=24), alla variabile
a si assegna il valore di 25 a causa del posizionamento
dell'argomento. Quindi al parametro c viene assegnato
il valore di 24 per il passaggio della parola chiave.
La variabile b assume il valore di default 5.
Nella terza applicazione func(c=50, a=100), si usano
esclusivamente argomenti a parola chiave per specificarne i valori. Si
noti che viene specificato il valore del parametro c
prima di quello del parametro a, sebbene nella
definizione della funzione a sia definita prima di
c: nessun problema!