变量和属性
变量使用注释注释:
x = 3 # type: int
x = negate(x)
x = 'a type-checker might catch this error'
Python 3.x >= 3.6
从 Python 3.6 开始,还有用于变量注释的新语法 。上面的代码可能会使用表单
x: int = 3
与注释不同,也可以只向先前未声明的变量添加类型提示,而不为其设置值:
y: int
另外,如果在模块或类级别中使用它们,则可以使用 typing.get_type_hints(class_or_module)
检索类型提示:
class Foo:
x: int
y: str = 'abc'
print(typing.get_type_hints(Foo))
# ChainMap({'x': <class 'int'>, 'y': <class 'str'>}, {})
或者,可以使用 __annotations__
特殊变量或属性访问它们:
x: int
print(__annotations__)
# {'x': <class 'int'>}
class C:
s: str
print(C.__annotations__)
# {'s': <class 'str'>}