现在我正在尝试这样做:
def Setup(Param1) :
repeat(Param1=Param1)
def perform(**kargs) :
Param1.func()
class Param1 :
def func(Self) :
Do_Stuff_To_Self
return Self
我不确定我是否正确代表我的代码,但是这是一个如此庞大的复杂项目,我觉得发布整个事情会让这更糟糕,但实质上我正在处理将执行代码的各种(执行)包装每个人“func”之间的情况类似,但是当我制作它并尝试构建时,我收到了错误:
global name 'Param1' is not defined.
我使用了调试器,发现kargs正确存储'Param1':“......在实例0x ......”所以我不确定为什么说Param1没有定义?
任何帮助都将不胜感激。
谢谢,
威轮
答案 0 :(得分:1)
将任意命名的参数传递给Python中的函数会将其存储在kwargs
字典中。
示例:
def do_stuff(**kwargs):
kwargs.get('param1') # would be 'param1'
kwargs.get('param2') # would be 5
do_stuff(param1='param1', param2=5)
您还可以使用未命名参数,将参数存储为列表
def do_stuff2(*args):
args[0] # would be 'param1'
args[1] # would be 5
do_stuff2('param1', 5)