self.base_key = “base_key”
class Base1(object):
def init(self, _arg1 = "_arg1 ", _arg2 = "_arg2 "):
print “enter Base1” + “|” + _arg1 + “|” + _arg2
self.base1_key = “base1_key”
class SubBase(Base):
def init(self):
super(SubBase, self).init()
print “enter SubBase”
self.subbase_key = “subbase_key”
class SubBase1(Base1):
def init(self, _arg1 = "_arg1 ", _arg2 = "_arg2 "):
super(SubBase1, self).init(_arg1 = _arg1, _arg2=_arg2)
print “enter SubBase1” + “|” + _arg1 + “|” + _arg2
self.subbase1_key = “subbase1_key”
class SubTest(SubBase,SubBase1):
def init(self, _arg1 = "_arg1 "):
super(SubTest, self).init(_arg1=_arg1, _arg2=“None”)
self.dict.update(vars(SubBase()))
self.subtest_key = “subtest_key”
运行结果为:
Traceback (most recent call last):
File “/Users/enzhao/suanec/ksp/dispatch/weiclient/client/weiclient/libs/com/weibo/tools/job_manager/job_configer_tester.py”, line 43, in
tjc = SubTest()
File “/Users/enzhao/suanec/ksp/dispatch/weiclient/client/weiclient/libs/com/weibo/tools/job_manager/job_configer_tester.py”, line 38, in init
super(SubTest, self).init(_arg1=_arg1, _arg2=“None”)
TypeError: init() got an unexpected keyword argument ‘_arg1’
第二版实现
class Base(object):
def init(self):
print “enter Base”
self.base_key = “base_key”
class Base1(object):<