【发布时间】:2021-07-11 23:47:01
【问题描述】:
我是 Python 新手,想知道如何使用存储在某个变量中的字符串在函数中“动态”传递可选参数名称。
这是我的功能:
def my_func(arg1=4 arg2=8):
print(arg1 * arg2)
这就是我的代码现在的样子:
param_name = “arg1”
param_value = 5
if param_name == “arg1”:
my_func(arg1=param_value)
elif param_name == “arg2”:
my_func(arg2=param_value)
我的问题是是否可以在没有 if/elif 的情况下将上面的代码简化为这样的:
param_name = “arg1”
param_value = 5
my_func(eval(param_name) = param_value)
PS:我知道这不是如何使用 eval() 并且使用 eval 是不安全的并且在大多数情况下被认为是一种不好的做法,所以代码只是为了说明我需要“动态地传递一个可选参数名称” ” 带有来自先前定义的变量的字符串值。
如何在 Python 中做到这一点(并且以最安全的方式)?
提前致谢! :)
【问题讨论】:
标签: python function dynamic optional-arguments