构造函数 子类必须调用超类的构造函数,以确保基本的初始化得以执行。为此,有两种方法:调用未关联的超类构造函数,以及使用函数super,即便有多个超类,也只需调用函数super一次,条件是所有超类的构造函数也使用函数super。生成器 包含yield语句的函数都叫生成器。与普通函数的区别是,生成器不是使用return返回一个值,而是可以生成多个值,每次一个,每次使用yield生成一个值后,函数都将被冻结,即在此停止执行,等待被重新唤醒,被重新唤醒后,韩式将从被停职的地方开始继续执行。 例子: def flatten(nested): try: try: nested + '' except TypeError: pass else: raise TypeError for subList in nested: for element in flatten(subList): yield element except TypeError: yield nested nested = [[1, 2], [3, 4], 5] for num in flatten(nested): print(num)