Se eu tiver uma função como esta:
def foo(name, opts={}):
pass
E eu quero adicionar dicas de tipo aos parâmetros, como faço isso? A maneira que assumi me dá um erro de sintaxe:
def foo(name: str, opts={}: dict) -> str:
pass
O seguinte não gera um erro de sintaxe, mas não parece a maneira intuitiva de lidar com este caso:
def foo(name: str, opts: dict={}) -> str:
pass
Não consigo encontrar nada na typing
documentação ou em uma pesquisa no Google.
Edit: Eu não sabia como os argumentos padrão funcionavam no Python, mas, para o bem desta pergunta, vou manter os exemplos acima. Em geral, é muito melhor fazer o seguinte:
def foo(name: str, opts: dict=None) -> str:
if not opts:
opts={}
pass
scala
linguagem também.