Если у меня есть такая функция:
def foo(name, opts={}):
pass
И я хочу добавить подсказки типа к параметрам, как это сделать? То, как я предполагал, дает мне синтаксическую ошибку:
def foo(name: str, opts={}: dict) -> str:
pass
Следующее не выдает синтаксическую ошибку, но это не похоже на интуитивный способ обработки этого случая:
def foo(name: str, opts: dict={}) -> str:
pass
Я не могу найти что-либо в typing
документации или в поиске Google.
Изменить: я не знал, как аргументы по умолчанию работали в Python, но ради этого вопроса я продолжу приведенные выше примеры. В общем, гораздо лучше сделать следующее:
def foo(name: str, opts: dict=None) -> str:
if not opts:
opts={}
pass