eval()函数十分强大,官方demo解释为:将字符串str当成有效的表达式来求值并返回计算结果,比较简单,这里就不做解释了,下面介绍一种比较少见的用途:
定义一个类:
class Myclass(object):
def gt_roidb(self):
print 'gt_roidb...'
在解释器中输入:
mc = Myclass()
m = eval('mc.' + 'gt' + '_roidb')
然后看一下m:
m
Out[23]: <bound method Myclass.gt_roidmb of <__main__.Myclass object at 0x7f04ae206f10>> 可见此时m是一个绑定方法,绑定到了实例对象mc上
然后调用:
m()
gt_roidb...