假设我们有
def Foo(Bar=0,Song=0):
print(Bar)
print(Song)
我想用函数sing和SongVal分配函数中的两个参数中的任何一个:
Sing = Song
SongVal = 2
这样可以像以下一样运行:
Foo(Sing=SongVal)
Sing将Song参数分配给SongVal为2。
结果应该像这样打印:
0
2
我应该重写我的功能还是可以按照我想要的方式进行? (使用上面的代码,你会得到一个错误,说Foo没有参数Sing。我理解为什么,有什么方法可以克服这个而不重写函数太多? 提前谢谢!
答案 0 :(得分:4)
您正在寻找的是**kwargs
传递任意关键字参数的方式:
kwargs = {Sing: SongVal}
foo(**kwargs)
有关更多示例,请参阅4.7 of the tutorial at www.python.org部分。