Если у меня есть такая функция:
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
scala
делает язык.