方法一:直接按名字调用某一个类下的函数而不是依赖于继承关系
class people:
def __init__(self,name,age,sex):
self.name=name
self.age=age
self.sex=sex
class boss(people):
def __init__(self,name,age,sex,level,salary):
people.__init__(self,name,age,sex)
self.level = level
self.salary=salary
tea_obj=boss('资本家',60,'不限',10,9000)
print(tea_obj.__dict__)
效果
方法二:super()调用父类提的方法即严格依赖继承关系
调用super()会得到一个特殊的对象,该对象会参照发起属性查找的那个类的mro,去当前类的父类中找属性
class people:
def __init__(self,name,age,sex):
self.name=name
self.age=age
self.sex=sex
class boss(people):
def __init__(self,name,age,sex,level,salary):
#下面两行代码效果一样
super(boss,self).__init__(name,age,sex)
super().__init__(name,age,sex)
self.level = level
self.salary=salary
print(boss.mro())
print('='*50)
tea_obj=boss('资本家',18,'不限',10,9000)
print(tea_obj.__dict__)
效果