相关疑难解决方法(0)

为什么在类上定义__getitem__使它在python中可迭代?

为什么在类上定义__getitem__使其可迭代?

例如,如果我写:

class b:
  def __getitem__(self, k):
    return k

cb = b()

for k in cb:
  print k
Run Code Online (Sandbox Code Playgroud)

我得到输出:

0
1
2
3
4
5
6
7
8
...
Run Code Online (Sandbox Code Playgroud)

我真的希望看到"for c in cb:"中返回的错误

python iterator overloading

58
推荐指数
5
解决办法
2万
查看次数

标签 统计

iterator ×1

overloading ×1

python ×1