Функциональные аннотации: PEP-3107
Я наткнулся на фрагмент кода, демонстрирующий аннотации функций Python3. Концепция проста, но я не могу думать о том, почему они были реализованы в Python3, или о каком-либо хорошем их использовании. Возможно, ТАК может просветить меня?
Как это работает:
def foo(a: 'x', b: 5 + 6, c: list) -> max(2, 9):
... function body ...
Все, что следует после двоеточия после аргумента, является «аннотацией», а информация, следующая за ->
, является аннотацией для возвращаемого значения функции.
foo.func_annotations вернет словарь:
{'a': 'x',
'b': 11,
'c': list,
'return': 9}
Что значит иметь это в наличии?