Supponiamo di avere una funzione python che accetta due argomenti, ma voglio che il secondo arg sia facoltativo, con il valore predefinito che è stato passato come primo argomento. Quindi, voglio fare qualcosa del genere:In Python, posso specificare l'impostazione predefinita di un argomento di funzione in termini di altri argomenti?
def myfunc(arg1, arg2=arg1):
print (arg1, arg2)
Tranne che non funziona. L'unica soluzione che posso pensare è questa:
def myfunc(arg1, arg2=None):
if arg2 is None:
arg2 = arg1
print (arg1, arg2)
C'è un modo migliore per farlo?
Sto solo ripensando a questo, potrebbe essere possibile ottenere con un decoratore. Non sarà chiaro cosa faccia a prima vista, quindi probabilmente è una cattiva idea, ma è un'idea. – marcog