python*args和**kwargs在从基类调用子类方法时遇到的问题
当我想在基类中定义一个通用的run方法时遇到了一个问题,该方法调用子类中的一个方法。输出显示get_run_字符串中的KWARG似乎没有被调用它的方法中的KWARG正确分配。 我的密码有什么问题吗?谢谢python*args和**kwargs在从基类调用子类方法时遇到的问题,python,subclass,args,keyword-argument,Python,Subclass,Args,Keyword Argument,当我想在基类中定义一个通用的run方法时遇到了一个问题,该方法调用子类中的一个方法。输出显示get_run_字符串中的KWARG似乎没有被调用它的方法中的KWARG正确分配。 我的密码有什么问题吗?谢谢 class Runnable(object): def __init__(self): #self.computer=ComputingHost() pass def run(self,*args,**kwargs): cmd=se
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()
在运行中,您必须使用
cmd=self.get\u run\u字符串(*args,**kwargs)
否则,您只需传递到2个未命名的参数,并在args变量中看到这两个参数。在run中,您必须使用
cmd=self.get\u run\u字符串(*args,**kwargs)
否则,您只需传递到2个未命名的参数,并在args变量中看到它们。预期的输出是什么?你得到了什么样的输出?预期的输出是什么?你得到了什么输出?是的。我发现运算符*和**只是将列表和dict数据类型分解到其上下文中,理解它们是否正确?是的。我发现运算符*和**只是将列表和dict数据类型分解到其上下文中,理解它们是否正确?