我希望kwargs在method2中具有与传入method1的内容完全相同的内容。在本例中,"foo“被传递给method1,但我希望传入任意值,并在method1和method2中的kwarg中查看它们。在调用method2的方式上,我需要做一些不同的事情吗?
def method1(*args,**kwargs):
if "foo" in kwargs:
print("method1 has foo in kwargs")
# I need to do something different here
method2(kwargs=kwargs)
def method2(*args,**kwargs):
if "foo" in kwargs:
# I want this to be true
print("method2 has foo in kwargs")
method1(foo=10)输出:
method1 has foo in kwargs所需输出:
method1 has foo in kwargs
method2 has foo in kwargs如果我需要澄清我的要求,或者这是不可能的,请让我知道。
发布于 2012-02-18 11:11:14
method2(**kwargs)发布于 2012-02-18 11:10:58
def method1(*args,**kwargs):
if "foo" in kwargs:
print("method1 has foo in kwargs")
method2(**kwargs)发布于 2012-02-18 11:15:45
这叫做解包参数列表。python.org文档为here。在您的示例中,您将像这样实现它。
def method1(*args,**kwargs):
if "foo" in kwargs:
print("method1 has foo in kwargs")
# I need to do something different here
method2(**kwargs) #Notice the **kwargs.
def method2(*args,**kwargs):
if "foo" in kwargs: # I want this to be true
print("method2 has foo in kwargs")
method1(foo=10)https://stackoverflow.com/questions/9338157
复制相似问题