python基础学习笔记——Python基础教程(第2版 修订版)第九章(魔法方法,属性,迭代器)
#构造方法
f=FooBar() f.init() f=FooBar class FooBar: def __init__(self): self.somvar=42
#重写一般方法和特殊的构造方法
class SongBird(biird): def __init__(self): super(SongBird.self).__init__()
#迭代器 重复做一些事很多次
class TestIterator: value=0 def __next__(self): self.value+=1 if self.value>10: raise StopIteration return self.value def __iter__(self): return self t1=TestIterator() list(t1)
#生成器 任何含有yield语句的函数都叫生成器
nested=[[1,2],[2,3],[4]] def flatten(nested): for sublist in nested: for element in sublist: yield element for num in flatten(nested): print num or list(flatten(nested))
#递归生成器 多层嵌套(递归)
#八皇后问题