1

python中是否有“执行”语句这样的东西,我可以像下面这样使用它?

statement='print "hello world"'

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

loop(statement)
4

1 回答 1

10

是的,只需传递一个可调用对象并使用statement()它来执行它。

调用对象是函数、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
于 2012-05-27T21:52:51.687 回答