Si tengo una función como esta:
def foo(name, opts={}):
pass
Y quiero agregar sugerencias de tipo a los parámetros, ¿cómo lo hago? La forma en que supuse me da un error de sintaxis:
def foo(name: str, opts={}: dict) -> str:
pass
Lo siguiente no arroja un error de sintaxis, pero no parece la forma intuitiva de manejar este caso:
def foo(name: str, opts: dict={}) -> str:
pass
No puedo encontrar nada en la typing
documentación o en una búsqueda en Google.
Editar: no sabía cómo funcionaban los argumentos predeterminados en Python, pero por el bien de esta pregunta, mantendré los ejemplos anteriores. En general, es mucho mejor hacer lo siguiente:
def foo(name: str, opts: dict=None) -> str:
if not opts:
opts={}
pass
scala
lenguaje también lo hace.