ホームページ  >  記事  >  バックエンド開発  >  Python 組み込み関数—exec

Python 組み込み関数—exec

黄舟
黄舟オリジナル
2017-01-19 16:37:231732ブラウズ

Python 組み込み関数 - exec

xecexec(object[, globals[, locals]])

この関数はステートメントまたは関数を実行します。
パラメータ オブジェクトは文字列ステートメント、またはコンパイルされたステートメントのオブジェクト名です。
パラメータ globals は、ステートメントの実行時にアクセスできるグローバル名前空間を指定するために使用されるグローバル名前空間です。
パラメータ locals は、ステートメントの実行時にアクセスできるローカル スコープの名前空間を指定するために使用されます。 。
関数またはステートメントに return ステートメントや yield ステートメントなどの戻り値ステートメントがあるかどうかに関係なく、この関数は値を返さないことに注意してください。
パラメータ globals と locals が省略された場合、呼び出しが行われた名前空間が使用されます。
名前空間を説明するには、両方のパラメータが辞書形式である必要があります。
これまでに、compile や eval などの関数を学習しましたが、それらの違いは何ですか?
それらの違いは次のように考えることができます:

compile函数是只编译字符串代码,而不作任何的执行,但它可以编译表达式或语句。
eval函数是**只执行表达式字符串代码,而不执行语句代码。**
x = eval('%d + 6' % x)
exec函数是**只执行语句代码,而不执行表达式代码**,因为它没有任何返回值。
exec('if True: print(6)')
>>> exec('if True: print 100')
100
>>> exec('''
x = 200
if x>100:
    print x+200
''')
400

上記は Python の組み込み関数 exec の内容です。さらに関連する内容については、PHP 中国語 Web サイト (www.php.cn) に注目してください。


声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。