当我想在基类中定义一个通用的run方法时遇到了一个问题,它在子类中调用一个方法。输出显示get_run_string中的kwargs似乎没有被调用它的方法中的kwargs正确分配。 我的代码有什么问题吗?感谢。
class Runnable(object):
def __init__(self):
#self.computer=ComputingHost()
pass
def run(self,*args,**kwargs):
cmd=self.get_run_string(args,kwargs)
print kwargs
#return cmd
def test_runnable():
class Testr(Runnable):
def __init__(self):
super(Testr,self).__init__()
def get_run_string(self,*args,**kwargs):
print "in getrunstring ",args
print "in getrunstring ",kwargs
return 0
a=Testr()
a.run(x="aa",y="bb")
test_runnable()
答案 0 :(得分:4)
在奔跑中你必须使用
cmd=self.get_run_string(*args, **kwargs)
。
否则你只需传递给2个未命名的参数,并在args变量中查看它们。