一、如果class中只有__iter__,那么必须要return一个迭代器,可以用iter()返回迭代器,也可以用yield返回生成器。知乎可以随意用for循环,或者iter()
否则会返回 TypeError: iter() returned non-iterator of type 'list' (return self.list)
或者返回 TypeError: iter() returned non-iterator of type 'classname' (return self)
二、如果class中除了__iter__,还有__next__,则__iter__可以return self
三、但是这个迭代器依旧只能循环一次,无论是用iter(),还是for循环,都不会重新迭代