代码示例:
from typing import List
class MyList(List[int]):
def total(self) -> int:
return sum(i for i in self)
a = MyList([1,2,3])
print(f'{a.total()=:}')
当我运行它时,它工作
a.total()=6
但当我使用Pyint时,我会得到以下错误
...
toy.py:5:30: E1133: Non-iterable value self is used in an iterating context (not-an-iterable)
...
还有其他pylint错误,但它们是可以理解的。对于not-an-iterable
问题,我不太理解,我是否将List[int]
子类化,对吗?
我使用的是Python-3.8,pylint=2.6.0
我将pylint升级到了更新的版本。
pylint --version
pylint 2.9.6
astroid 2.6.6
Python 3.8.2 (default, Mar 15 2021, 10:18:42)
错误消失了。
由于系统限制,我无法升级到最新版本。