继承

  • 在Python中,同时支持单继承与多继承,一般语法如下:
  1. class SubClassName(ParentClass1 [, ParentClass2, ...]):
  2. class_suite
  • 实现继承之后,子类将继承父类的属性,也可以使用内建函数 insubclass() 来判断一个类是不是另一个类的子孙类:
  1. class Parent(object):
  2. '''parent class'''
  3. numList = []
  4. def numdiff(self, a, b):
  5. return a-b
  6. class Child(Parent):
  7. pass
  8. c = Child()
  9. # 子类继承父类的属性
  10. Child.numList.extend(range(10))
  11. print(Child.numList) ## [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
  12. print("77 - 2 =", c.numdiff(77, 2)) ## 77 - 2 = 75
  13. # built-in function issubclass()
  14. print(issubclass(Child, Parent)) ## True
  15. print(issubclass(Child, object)) ## True
  16. # _ _bases_ _ 属性查看父类
  17. print('the bases are:',Child.__bases__) ## the bases are: (<class '__main__.Parent'>,)
  18. # doc 属性不会被继承
  19. print(Parent.__doc__) ## parent class
  20. print(Child.__doc__) ## None
  • 例子中唯一特别的地方是文档字符串。文档字符串对于类,函数/方法,以及模块来说是唯一的,也就是说 doc 属性是不能从父类中继承来的