以下使用继承类设置__str__
函数的代码失败,除非有"行"在自我和第一个属性之间,即行junk = 99,被注释掉程序炸弹
class TemplateBlock(object) :
def __init__(self,
tidno = 1):
self.tidno = tidno
def __str__(self) :
return '%.2d:' % (self.tidno)
class Block(TemplateBlock) :
def __init__(self,
junk = 99,
bidno = 3) :
TemplateBlock.__init__(self)
#self.junk = junk
self.bidno = bidno
def __str__(self) :
return TemplateBlock.__str__(self) + '\n%.2d' %(self.bidno)
def set(self,t) :
self.tidno = t.tidno
tb = TemplateBlock(tidno=2)
b = Block(tb)
b.set(tb)
print(b)
提前感谢您的帮助。
答案 0 :(得分:0)
Block(td)将self.bidno设置为作为TemplateBlock的td。 从那里我怀疑'\ n%.2d'%(self.bidno)抛出异常,因为bidno不是数字。