派生类中创建init方法,则就不会调用 基类的init
可以通过supper()函数调用基类的init方法
class Fruit: def __init__(self,color='green'):#color默认是lvse Fruit.color=color def harvest(self,color): print('I am %s'%color) print(Fruit.color) class Apple(Fruit): color = 'red' def __init__(self): print('apple') super().__init__() #调用基类的init方法 class Orange(Fruit): color='yellow' def __init__(self): print('orange') super().__init__() a=Apple() o=Orange() print(a.harvest(Apple.color)) print(o.harvest(Orange.color))
>>>
apple
orange
I am red
green
None
I am yellow
green
None