python 怎么运行函数名

python 怎么运行函数名

作者:Rhett Bai发布时间:2026-03-25阅读时长:0 分钟阅读次数:4

用户关注问题

Q
如何在Python中动态调用一个函数?

我有一个函数名字符串,想根据它调用对应的函数,该怎么实现?

A

利用 globals() 或 locals() 动态调用函数

在Python中,可以通过globals()或locals()字典来获取当前作用域中的函数对象。例如,如果有函数名字符串func_name,可以使用globals()func_name来调用该函数。确保函数名存在于对应的字典中,避免出现KeyError。

Q
Python如何通过函数名变量执行函数?

我已经获取了函数名作为变量,想根据这个变量运行对应函数,有没有简便的方法?

A

将函数赋值给变量后直接调用

Python中的函数是第一类对象,可以将函数赋值给变量,比如 func = some_function,然后通过func()来调用。若只有函数名的字符串,可以通过获取函数对象后赋值给变量进行调用。

Q
使用 eval 调用函数安全吗?

看到有人用 eval 函数来执行函数名字符串,这种方式安全么?有没有更好的替代方案?

A

避免使用 eval,推荐使用字典或 globals() 调用

eval 会执行字符串中的任何代码,存在安全风险。更安全的方式是使用字典映射函数名到函数对象,或者使用 globals()/locals() 来获取函数对象并调用,避免执行不受信任的代码。