Python がコードを実行する方法

(*-*)浩
(*-*)浩オリジナル
2019-06-29 13:56:3315732ブラウズ

動的言語である Python は、実際にはインタープリタ ソフトウェア パッケージです。

Python がコードを実行する方法

Python がスクリプトを実行するとき、Python はコードの処理を開始する前にいくつかのステップも実行します。 (推奨学習: Python ビデオ チュートリアル )

最初のステップは、いわゆる「バイトコード」にコンパイルすることです。Python プロセスに書き込み権限がある場合、プログラムのバイトコードが保存されます。拡張子が .pyc のファイルの場合、Python がマシン上でバイトコードを書き込むことができない場合でも、プログラムは動作します。バイトコードはメモリ内に生成され、プログラムの終了時に単純に破棄されます。プログラムがバイトコードにコンパイルされると (またはバイトコードが既存の .pyc ファイルからロードされると)、後続のバイトコードは実行のために Python 仮想マシン (略して PVM) と呼ばれるものに送信されます。

書き込まれた py ファイルは、まずバイトコード ファイル (隠しサフィックス pyc) に変換され、次にそのバイトコードが PVM (仮想マシン) を使用して自動的にコンパイルされ、ハードウェアに解釈されます。

pyc ファイルがすでに形成されている場合、py ファイルは変更されていません。マシンがそれを再解釈するとき、バイトコード変換ステップはスキップされます。まず、.py と.pyc ファイルのタイムスタンプが変更されていない場合は、pyc ファイルを直接実行します。それ以外の場合は、バイトコードが再変換されます。

PVM は独立したプログラムではなく、Python の実行エンジンであり、インストールする必要はありません。実際、PVM はバイトコード命令を繰り返し実行し、操作を次々に完了する大きなループです。

つまり、Python にはさらに動的な言語機能があります。実行時に、Python プログラムが別の Python プログラムを構築して実行することが可能であり、これは多くの場合非常に便利です。たとえば、eval および exec 組み込みモジュールは、Python プログラム コードを含む文字列を受け入れて実行します。 add 関数のバイトコードを表示するには、次のコードを使用します。

import dis

def add(a,b):
    sum=a+b
    return sum

print(dis.dis(add))

Python 関連の技術記事の詳細については、Python チュートリアル 列にアクセスして学習してください。

以上がPython がコードを実行する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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