繁体   English   中英

如何在python中将字符串转换为函数?

[英]How do you convert a string to a function in python?

如何将字符串(例如,来自文本框的输入)转换为适当的函数?

您可以使用eval 但是要非常小心! 这打开了许多安全漏洞。

>>> s = '3+4'
>>> eval(s)
7

如果您希望它可调用:

>>> s = '3+4'
>>> f = eval('lambda: ' + s)
>>> f()
7

有关eval更多信息,请eval 此处

尝试这个

func = ___import___('func_name')

要么

if hasattr(your_module, func_name): func = getattr(your_module, func_name)

要么

if func_name in globals(): func = globals[func_name]

等等

def func():
    print "hello"

# just eval it
eval(raw_input())

# if you just want to ask for name
fName=raw_input()
if fName in globals():
    globals()[fName]()

根据目标是什么,可以有其他各种方式?

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM