def do_foo():
print 'foo'
class Print(object):
def do_foo(self):
print 'dynamic,foo!'
@staticmethod
def static_foo():
print 'static ,foo!"
def main():
obj = Print()
func_name = "do_foo"
static_name = "static_foo"
eval(funct_name)
getattr(obj,func_name)()
getattr(Print,static_name)()
eval:把字符串当作函数来处理
getattr,取得对象或者类中的属性或者函数名,加上后面的() 就是调用一个同名的函数
@staticmethod 是声明一个静态函数,内部参数不能有self