class MyList(object):

    def __init__(self):
        self.list = [42, 3.1415, 'Hello World!']

def __iter__(self):
    return iter(self.list)
m = MyList()
for x in m:
    pass
Что делает что-то итерируемым в python