子类化 List[int] 时出现 pylint 不可迭代错误
pylint not-an-iterable error when subclassing List[int]
代码示例:
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
但是当我使用pylint时,出现如下错误
...
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)
错误消失了。
由于系统限制,我无法升级到最新版本。
代码示例:
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
但是当我使用pylint时,出现如下错误
...
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)
错误消失了。
由于系统限制,我无法升级到最新版本。