继承是相对两个类而言的父子关系,子类继承了父类的所有公有属性和方法,继承的好处是能够实现代码重用
#!/usr/bin/env python #-*- coding:utf-8 -*- class People(object): def __init__(self): self.name = 'Tom' self.age = 23 def talk(self): print('My name is %s' % self.name) print('My age is %s' % self.age) class Chinese(People): # 表示Chinese这个类继承了People这个类的公有属性和方法,括号里是父类 pass if __name__ == '__main__': # 实例化一个对象,可以通过子类直接使用父类的方法 cn = Chinese() cn.talk()
如果父类定义的__init__方法含有参数,子类必须调用父类的__init__方法,否则会报错:
#!/usr/bin/env python #-*- coding:utf-8 -*- class People(object): def __init__(self, name, age): # 这里定义的__init__方法含有参数 self.name = name self.age = age def talk(self): print('My name is %s' % self.name) print('My age is %s' % self.age) class Chinese(People): def __init__(self): People.__init__(self, 'Tom', 23) # 在继承的时候必须调用父类的__init__方法 ### super(Chinese, self).__init__('Tom', 23) # 也可以通过super()函数去继承父类(可选) if __name__ == '__main__': cn = Chinese() cn.talk()