python中有'execute'语句吗?

时间:2012-05-27 21:52:06

标签: python

python中有这样的东西作为'执行'语句,我可以使用类似于下面的方式吗?

statement='print "hello world"'

def loop(statement):
    for i in range(100):
        for j in range(100):
            execute statement

loop(statement)

1 个答案:

答案 0 :(得分:10)

是的,只需传递可调用并使用statement()执行它。

callable 是一个函数,lambda表达式或任何其他实现__call__的对象。

def loop(func):
    for i in range(100):
        for j in range(100):
            func()

def say_hello():
    print "hello world"
loop(say_hello)

如果你真的想从字符串中执行代码(相信我,你没有!),有exec

>>> code = 'print "hello bad code"'
>>> exec code
hello bad code