我正在尝试创建一个更加动态的程序,在其中根据变量字符串定义函数的名称。
尝试使用如下变量定义函数:
__func_name__ = "fun"
def __func_name__():
print('Hello from ' + __func_name__)
fun()
想要输出:
Hello from fun
我发现的唯一例子是: how to define a function from a string using python
最佳答案
您可以更新全局
:
>>> globals()["my_function_name"] = lambda x: x + 1
>>> my_function_name(10)
11
但通常使用具有相关功能的字典更方便:
my_func_dict = {
"__func_name__" : __func_name__,
}
def __func_name__():
print('Hello')
然后使用字典以名称作为键来取回函数:
my_func_dict["__func_name__"]()
关于python - 如何使用字符串定义函数名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55915109/