You are here: Partenza > Dive Into Python > La potenza dell'introspezione > Argomenti opzionali ed argomenti con nome | << >> | ||||
Dive Into PythonPython per programmatori esperti |
Python permette agli argomenti delle funzioni di avere un valore predefinito; se la funzione è chiamata senza l'argomento, l'argomento prende il suo valore predefinito. Inoltre gli argomenti possono essere specificati in qualunque ordine usando gli argomenti con nome. Le stored procedure in SQL Server Transact/SQL possono farlo; se siete dei guru nella programmazione via script di SQL Server potete saltare questa parte.
def help(object, spacing=10, collapse=1):
spacing e collapse sono opzionali perché hanno un valore predefinito. object è richiesto perché non ha alcun valore predefinito. Se help viene chiamata con un solo argomento, spacing assumerà il valore 10 e collapse assumerà valore 1. Se help viene chiamata con due argomenti, collapse continuerà a valere 1.
Diciamo che volete specificare un valore per collapse, ma volete accettare il valore predefinito per spacing. Nella maggior parte dei linguaggi sareste sfortunati, perché dovreste chiamare la funzione con tre argomenti. Ma in Python gli argomenti possono essere specificati per nome, in qualsiasi ordine.
help(odbchelper) help(odbchelper, 12) help(odbchelper, collapse=0) help(spacing=15, object=odbchelper)
Può sembrare estremamente forzato fino a che non realizzate che gli argomenti sono semplicemente un dizionario. Il meccanismo “normale”, di chiamata a funzione senza nomi di argomenti è solamente una scorciatoia in cui è Python ad abbinare i valori con i nomi degli argomenti, nell'ordine in cui sono stati specificati nella dichiarazione. Nella maggior parte dei casi, chiamerete le funzioni nel modo “normale”, ma avrete sempre a disposizione questa flessibilità aggiuntiva se ne avrete bisogno.
L'unica cosa che dovete fare per chiamare una funzione è specificare un valore (in qualche modo) per ogni argomento richiesto; il modo e l'ordine in cui lo fate è a vostra discrezione. |
<< La potenza dell'introspezione |
| 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | |
type, str, dir, ed altre funzioni built-in >> |