python 将变量名或者函数名转换成字符串

为了在exec中使用
比如

from a import funa,funb

plist=[funa,funb]
for i in plist:
  exec('c={}(1,2,3)'.format(i))

想要实现这样的效果,但是会报错

函数本身的属性就可以f.name


def funa():
    pass

def funb():
    pass

plist = [funa, funb]
a=[]
for i in plist:
    a.append(i.__name__)

如有帮助点一下下采纳

这样?


from a import funa,funb
 
plist=['funa','funb']
for i in plist:
  exec('c={}(1,2,3)'.format(i))

plist=['funa','funb']
报错的原因是funa在自动转str的过程中,转成的不是'funa'