迭代器

# 随便定义一个对象, 看看它是否可迭代
from collections import Iterable
class MyList(object):
def __init__(self):
self.container = []
def add(self, item):
self.container.append(item)
mylist = MyList()
mylist.add('a')
print(isinstance(mylist, Iterable)) # FALSE
# 是不是在判断mylist对象是否可迭代, 对象底层实现了__iter__魔法方法

# 思考: 如何让一个对象变成可迭代的
from collections import Iterable
class MyList(object):
def __init__(self):
self.container = []
def add(self, item):
self.container.append(item)
def __iter__(self):
return '迭代器'
mylist = MyList()
mylist.add('a')
print(isinstance(mylist, Iterable)) # True

posted @ 2021-05-17 08:30  DoomLs  阅读(38)  评论(0)    收藏  举报