Python中怎么用字符串来命名一个函数?

 我来答
小柯师傅
推荐于2018-03-29 · TA获得超过919个赞
知道小有建树答主
回答量:202
采纳率:100%
帮助的人:279万
展开全部

有2个标准库函数可以完成你说的要求,建议用eval()

eval() 和exec()

  • 区别是eval()有返回值 

def test1():
    print "Test1 Excuted!"
    return True
ret = eval ("test1()")
print ret
  • 结果如下

>>> 
Test1 Excuted!
True
  • 而exec()只执行,并无返回值。

def test2():
    print "Test2 Excuted!"
    return True
exec("test2()")
  • 结果如下

>>> 
Test2 Excuted!
>>>
  • 如果要将exec()赋值,会有以下语法错误!

ret = exec("test2()")

百度网友5873ea716
推荐于2016-01-17 · TA获得超过274个赞
知道小有建树答主
回答量:338
采纳率:0%
帮助的人:303万
展开全部
是说,知道一个函数的函数名,但是没有这个函数的引用么?
可以考虑下面的做法。
定义一个函数
def abc():
print "123"
然后定义一个字符串,内容为abc
a="abc"
然后尝试调用a对应的函数
vars()[a]()
vars()取出当前可用的变量,然后用a索引它对应的函数,最后加上()执行。
更多追问追答
追问
我也是一开始就想到这个,但是要求是可以根据输入动态的添加函数。。。
我一开始也是想到这个,但是要求是可以根据输入,动态的添加函数。。。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友27a6224
2019-12-11
知道答主
回答量:21
采纳率:0%
帮助的人:4.3万
展开全部
你可以看一下python的反射机制,应该可以实现你这个要求
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式