Se ho una funzione come questa:
def foo(name, opts={}):
pass
E voglio aggiungere suggerimenti di tipo ai parametri, come posso fare? Il modo in cui ho assunto mi dà un errore di sintassi:
def foo(name: str, opts={}: dict) -> str:
pass
Quanto segue non genera un errore di sintassi ma non sembra il modo intuitivo di gestire questo caso:
def foo(name: str, opts: dict={}) -> str:
pass
Non riesco a trovare nulla nella typing
documentazione o su una ricerca su Google.
Modifica: non sapevo come funzionassero gli argomenti predefiniti in Python, ma per il bene di questa domanda, terrò gli esempi sopra. In generale è molto meglio fare quanto segue:
def foo(name: str, opts: dict=None) -> str:
if not opts:
opts={}
pass
scala
lingua.