Python_プログラムの作成と実行



Pythonソースコードの作成

拡張子

pythonスクリプトの拡張子は「.py」です。


ソースコードの文字コード指定

ソースコードの文字コードは次のように指定します。

# coding: エンコーディング名
# coding=エンコーディング名

またはemacs表記の下記がよく用いられます。

# -*- coding: UTF-8 -*-

インデント

Pythonではインデントでブロック(制御文のまとまり)を表します。

インデントを間違えると、処理が誤って実行されたり、実行失敗するので注意が必要です。

なお、インデントにはスペース4文字が推奨(PEP8という規約上)されています。


コメントとドックストリング

Pythonのコメントは「#」を使用します。

ダブルコート3つでドックストリングというクラスや関数の仕様を記述するためのコメントがあります。


hello world

#!/usr/bin/env python
# -*- coding: UTF-8 -*-


def main():
    """ 
    ダブルコート3つでdocstringとなります
    ここに関数の説明を記述します。
    """

    # コメント
    # 命令文とインデントを合わせる必要があります。
    print("hello world!")

    pass  # passは何もしない文です


if __name__ == "__main__":
    main()

Pythonのlintとフォーマッター

pep8とpylintが有名です。


pep8

静的解析ツールとして最も有名なのがpep8です。

# pip install pep8
$ pep8 hello.py

python3.5では下記のように「pycodestyle」への移行を促すメッセージが表示されます。

完全移行が予定されています。

$ pip install pycodestyle
$ pycodestyle ...

pep8形式にフォーマット変換を行うツールがautopep8です。

「pycodestyle」への移行に伴い、コマンド名が変更される可能性があります。

# pip install autopep8
$ autopep8 -i hello.py

pylint

pylintも有名な静的解析ツールです。

# pip install pylint
$ pylint --generate-rcfile > pylintrc
$ pylint hello.py

pylintとともに用いることが多いフォーマット変換を行うツールがyapfです。

# pip install yapf
$ yapf -i hello.py

yapf -d test.pyとすれば差分が表示され、yapf -i test.pyとすれば整形結果でファイルが上書きされます。

ディレクトリを再帰的に処理したい場合は-rオプションを指定します。


Pythonの実行

インタプリタ(対話モード)実行

pythonコマンドを実行すると対話モードで実行できます。

インタプリータを終了させるには、「ctrl-D」または「quit()」 を入力します

$ python
Python 3.5.4 (default, Mar 12 2018, 00:30:17) 
[GCC 5.4.0 20160609] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> 2+5
7

スクリプト実行

pythonコマンドの引数にスクリプトファイルを指定することで実行できます。

$ python hello.py

スクリプトファイルを実行する

スクリプトファイルを実行する場合、スクリプトファイルの先頭にpythonコマンドへのパスを記述します。

#!/usr/local/pyenv/shims/python

もしくは、envコマンドがあり、pythonコマンドへのパスが設定されていれば下記のように記述できます。

#!/usr/bin/env python

そして、スクリプトファイルを実行します。

$ chmod 755 hello.py
$ ./hello.py

関連ページ



スポンサード リンク