我正在使用 Python 3.7 并有類似的東西class A(object): def __init__(self, value: int): self.value = value @classmethod def factory(cls, value: int) -> A: return A(value=value)是的,這是一個人為的示例,但我本質上是試圖注釋工廠函數以聲明它返回 的實例,但是,當我嘗試 在文件上A運行 linter 時,此操作會失敗,因為它抱怨未定義。flake8A有沒有什么方法可以注釋這個函數,這樣 linter 就不會抱怨?
1 回答

慕少森
TA貢獻2019條經驗 獲得超9個贊
您可以通過注釋來避免這種情況'A'
:
class?A: ????@classmethod ????def?factory(cls,?value:?int)?->?'A': ????????...
或者,您可以使用注釋:__future__
from?__future__?import?annotations
并繼續注釋A
。
添加回答
舉報
0/150
提交
取消