Python プログラミング

Pythonの実行方法”インタプリタ"、”スクリプト”、”コンパイル”を紹介。

2018年6月23日

こんにちは!シミダイ(@shimidai2100)です。

Pythonには大きく分けて、「インタプリタ」、「スクリプト」、「コンパイル」の3つの実行方法があります。

それぞれの特徴どんな時に利用するか紹介したいと思います。


インタプリタ実行

まずはインタプリタの実行方法です。

これは非常に簡単でpythonを起動して、コマンドを逐次解釈させてプログラムを動かします。

下がインタプリタの「Hello World」です。

# python
Python 3.6.5 (default, Mar 30 2018, 22:56:23)
[GCC 4.8.5 20150623 (Red Hat 4.8.5-16)] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>>
>>> print('Hello World!')
Hello World!
>>>

6行目でprint()関数を呼び出し、7行目で直ぐに実行結果が返ってきています。

スクリプト実行

スクリプト実行とは、テキストファイルにPythonのコードを書きpythonに読み込ませて実行させます。

下が「Hello World」のスクリプトです。

#!/usr/bin/python
# -*- coding: utf-8 -*-

print('Hello World!')

exit()

1行目の「!/usr/bin/python」で何のバイナリで実行するか指定し、

2行目の「 -*- coding: utf-8 -*-」で文字コードを指定します。

下が実行結果です。

# python helloWorld.py
Hello World!
# ls -l helloWorld.py 
-rwxr-xr-x. 1 root root 73 Jun 21 23:32 helloWorld.py 
# ./helloWorld.py
Hello World!<br>

1行目の実行はpythonにスクリプトファイルを読み込ませて実行します。

実行権限があれば、5行目のようにShellのように実行することも可能です

コンパイル実行

Pythonのコンパイルは「バイトコンパイル」のことを指します。

バイトコンパイルを行うと、pythonファイルが機械語で翻訳されるため実行速度が速くなるケースがあります。

下がバイトコンパイル時の基本構文になります。

python -m compileall <対象ファイル>

コンパイルすると「__pycace__」ディレクトリに「.pyc」ファイルが作成されています。

実際にコンパイルするサンプルコードになります。

#!/usr/bin/python
# -*- coding: utf-8 -*-

if __name__ == '__main__':
    print('Hello World!')
    exit()

下がコンパイルとファイルの実行結果です。

# python -m compileall helloWorld.py
Compiling 'helloWorld.py'...
# ls -l
total 4
-rwxr-xr-x. 1 root root 107 Jun 22 00:00 helloWorld.py
drwxr-xr-x. 2 root root  38 Jun 22 00:14 __pycache__
# cd __pycache__/
# ls
helloWorld.cpython-36.pyc
[root@v133-18-196-86 __pycache__]# python helloWorld.cpython-36.pyc
Hello World!

その他、Windows環境の実行ファイル「.exeMac環境の実行ファイル「.appに変換させることもできます。

実行ファイル形式に変更しておくことで、pythonが入っていない環境でもpythonのプログラムを動かせます。

関連記事

-Python, プログラミング

Copyright© shimidai2100 , 2020 All Rights Reserved.