当父类的初始化参数有初值,子类在继承的时候,其父类的初值是可以用上的
如下示:
class User():
def __init__(self,name,age,sex='f',**info):
self.name=name
self.age=age
self.sex=sex
# self.__place=place
self.info=info
def show(self):
print('name:',self.name)
print('age:',self.age,'sex:',self.sex)
for k,v in self.info.items():
print(k,':',v,end=' ')
print()
class Admin(User):
def __init__(self,name,age,sex='ffffff',**info):
if sex == 'ffffff' :
super().__init__(name,age,**info)#因为此处要用父类的sex初值,所以就无须提供sex的值了
else :
super().__init__(name,age,sex,**info)
def show(self):
print('name:', self.name)
print('age:',self.age, 'sex:',self.sex)
for k, v in self.info.items():
print(k, ':', v, end=' ')
print()
a1=Admin('abc',11,'@@@@@',aa='llll',bb='pppppp')
print(a1.sex)
a1.show()