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

はい、単純にcallableを渡し、それを使用statement()して実行します。

callableは、関数、ラムダ式、または を実装するその他のオブジェクトです__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 に答える