多重继承也就是子类可以继承多个父类,但如果要继承父类的__init__方法,多重继承最多只能继承其中一个父类的__init__方法
如下,我们定义两个父类 Talking 和 Thinking,然后用 People 这个子类去继承两个父类:
#!/usr/bin/env python #-*- coding:utf-8 -*- class Talking(object): def __init__(self, name, age): self.name = name self.age = age def talking(self): print('My name is %s' % self.name) print('My age is %s' % self.age) print('I am talking...') class Thinking(object): def __init__(self, name2, age2): self.name2 = name2 self.age2 = age2 def thinking(self): print('My name is %s' % self.name2) print('My age is %s' % self.age2) print('I am thinking...') class People(Talking, Thinking): def __init__(self): # 这里我们定义__init__方法,明确指定继承哪个父类的__init__方法 Talking.__init__(self, 'Tom', 23) # 如果没有定义__init__方法,则默认继承第一个父类的__init__方法 if __name__ == '__main__': cn = People() cn.talking()