TypeError: 'str' object is not callable,求指教
def test_1():
print "hello test_1"
def test_2():
print "hello test_2"
def test_3():
print "hello test_3"
def run():
fun_name = ['test_1', 'test_2', 'test_3']
for fun in fun_name:
print fun
fun()
run()
执行以上代码出错TypeError: 'str' object is not callable,求指教。
[解决办法]
fun_name = [test_1, test_2, test_3]
[解决办法]
楼上正解
你写的fun_name是一个字符串的列表,而不是一个函数的列表,其中的每一个元素没有对应到一个函数
另外,如果你想打印的是函数的名字的话,应该是 print fun.__name__
ps: 用[code=Python][/code]把代码包起来,容易读
[解决办法]
是想动态调用函数吧,
def functionMain(function_name):
funcs = locals().get(function_name,None)
if funcs:
funcs(args)