对List[int]进行子类化时,pylint不是可迭代错误



代码示例:

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) 

错误消失了。

由于系统限制,我无法升级到最新版本。

最新更新