|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
>>> f = filter(str, [1, '2', 3, '4'])
>>> for i in iter(f):
print(i)
1
2
3
4
>>> for i in f:
print(i)
>>>
=================================
如果一个对象实现了__iter__()魔术方法,既可以for i in xxx进行迭代,等价于for i in iter(xxx)。。。
那么iter函数到底作用是什么,如果实现了__iter__()方法,写不写都一样,但是没有写__iter__(),即使写iter()函数,也同样不能迭代
-------------------------------------------------------------------
另外,上面这个例子不明白,为什么写了iter()函数就可以进行迭代了?如果该类没有实现__iter__()方法的话,怎么能进行迭代呢? |
|