Si j'ai une fonction comme celle-ci:
def foo(name, opts={}):
pass
Et je veux ajouter des indices de type aux paramètres, comment faire? La façon dont j'ai supposé me donne une erreur de syntaxe:
def foo(name: str, opts={}: dict) -> str:
pass
Ce qui suit ne génère pas d'erreur de syntaxe, mais cela ne semble pas être la manière intuitive de gérer ce cas:
def foo(name: str, opts: dict={}) -> str:
pass
Je ne trouve rien dans la typing
documentation ou sur une recherche Google.
Edit: je ne savais pas comment les arguments par défaut fonctionnaient en Python, mais pour cette question, je garderai les exemples ci-dessus. En général, il est préférable de procéder comme suit:
def foo(name: str, opts: dict=None) -> str:
if not opts:
opts={}
pass
scala
langue le fait aussi.