【发布时间】:2011-03-03 13:19:36
【问题描述】:
函数注释:PEP-3107
我遇到了一段演示 Python3 函数注释的代码。这个概念很简单,但我想不出为什么这些是在 Python3 中实现的,或者它们有什么好的用途。也许SO可以启发我?
它是如何工作的:
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}
提供这个有什么意义?
【问题讨论】:
-
@SilentGhost:不幸的是,许多与实际用例的链接都被破坏了。是否有任何地方可能存储了内容,或者它已经永远消失了?
-
在 python3 中
foo.func_annotations不应该是foo.__annotations__吗? -
注解没有特殊意义。 Python 唯一要做的就是将它们放入 annotations 字典中。任何其他操作都取决于您。
-
def foo(a: 'x', b: 5 + 6, c: list) -> max(2, 9):是什么意思?
标签: python function annotations python-3.x