我正在使用 Python 3.7 并有類(lèi)似的東西class A(object): def __init__(self, value: int): self.value = value @classmethod def factory(cls, value: int) -> A: return A(value=value)是的,這是一個(gè)人為的示例,但我本質(zhì)上是試圖注釋工廠函數(shù)以聲明它返回 的實(shí)例,但是,當(dāng)我嘗試 在文件上A運(yùn)行 linter 時(shí),此操作會(huì)失敗,因?yàn)樗г刮炊x。flake8A有沒(méi)有什么方法可以注釋這個(gè)函數(shù),這樣 linter 就不會(huì)抱怨?
1 回答

慕少森
TA貢獻(xiàn)2019條經(jīng)驗(yàn) 獲得超9個(gè)贊
您可以通過(guò)注釋來(lái)避免這種情況'A'
:
class?A: ????@classmethod ????def?factory(cls,?value:?int)?->?'A': ????????...
或者,您可以使用注釋?zhuān)?code>__future__
from?__future__?import?annotations
并繼續(xù)注釋A
。
添加回答
舉報(bào)
0/150
提交
取消