->python方法的末尾有一个或破折号-大于符号,我不确定它的含义。人们可能也称它为箭头。
->
这是示例:
@property def get_foo(self) -> Foo: return self._foo
self._fooFoo的实例在哪里。
self._foo
我的猜测是,它是某种静态类型声明,以告诉解释器其self._foo类型为Foo。但是当我对此进行测试时,如果self._foo不是Foo的实例,则不会发生任何异常情况。另外,如果self._foo类型不是Foo,则假设它是an int,然后type(SomeClass.get_foo())返回int。那么,这有什么意义-> Foo呢?
int
type(SomeClass.get_foo())
-> Foo
这个概念很难查找,因为它是没有通用名称的符号,术语“箭头”具有误导性。
这是功能注释。它可以用于将附加信息附加到参数或函数的返回值。这是一种有用的方式来说明必须如何使用函数。函数注释存储在函数的__annotations__属性中。
__annotations__
用例 ( 来自文档 )
提供打字信息
其他资讯
参数和返回值的文档
从python-3.5它可以用于类型提示
python-3.5