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