笔记自用
1. 继承时,父类的属性也要定义在子类的super().__init__()中
子类继承属性时,父类的dataname,bathsize这两个属性也要写在构造方法里面,如下TheSub类:
子类只继承父类方法 时,不用将属性写进去
‘’‘
父类
’‘’
class TheSupeir:
def __init__(self,dataname,batchsize):
‘’‘
构造方法里面构造两个属性
’‘’
self.dataname = dataname
self.batchsize = batchsize
def show_theprofile(self):
print(self.dataname)
‘’‘
子类
’‘’
class TheSub(TheSupeir):
def __init__(self, dataname,batchsize,testdata):
super(TheSub, self).__init__(dataname, batchsize)
self.testdata = testdata
def show_theprofile(self):
print(self.testdata)
2.用*args,**kw定义形式参数
好处:定义形式参数的时候,不用一一列出。
传参:传实参的时候可以用一个字典将属性传进去。
class demo6():
def __init__(self,*args,**kw):
if 'name' in kw:
self.name = kw['name']
if 'time' in kw:
self.time = kw['time']
self.score = []
def add_score(self,s):
self.score.append(s)
def __getitem__(self, item):
return self.score[item]
def __len__(self):
return len(self.score)
def show_profile(self):
try:
print(self.name,self.time)
except:
print("给你吗一拳,你没有定义属性")
class demo6_5(demo6):
def __init__(self,*args,**kw):
super(demo6_5,self).__init__(*args,**kw)