首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > perl python >

TypeError: 'str' object is not callable,求赐教

2012-08-17 
TypeError: str object is not callable,求指教def test_1():print hello test_1def test_2():print

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,求指教。

[解决办法]

Python code
    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)

热点排行