變數和屬性
變數使用註釋註釋:
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'>}