類成員和方法
class A:
x = None # type: float
def __init__(self, x: float) -> None:
"""
self should not be annotated
init should be annotated to return None
"""
self.x = x
@classmethod
def from_int(cls, x: int) -> 'A':
"""
cls should not be annotated
Use forward reference to refer to current class with string literal 'A'
"""
return cls(float(x))
由於在定義函式時評估註釋,因此需要當前類的前向引用。當引用可導致迴圈匯入的類時,也可以使用前向引用。