eval使用问题

eval使用问题

>>> def test(a,b):
...         return a+b
...
>>> def test(a,b):
...         return a+b
...
>>> funcname='test'
>>> argtuple=(1,2)
>>> eval(funcname)argtuple
Traceback (  File "<interactive input>", line 1
    eval(funcname)argtuple
                         ^
SyntaxError: invalid syntax
求教为什么会出错啊?
eval("test(1,2)")
eval(funcname)(*argtuple)

globals()[funcname](*argtuple)

eval(funcname)(*argtuple)
3楼正解,
也可以这样
eval( funcname + str(argtuple) )
谢谢各位,三楼正确,
eval( funcname + str(argtuple) )我试过可以,但如果参数中有句柄,对象之类时,好象就不行