使い続けていると当たり前のことになってわざわざメモする必要もないと感じることでも、一年、いや半年も使わないでいると、あれ?どうなってたっけということがままあります。還暦をとうに過ぎるとそれが普通です。(笑)というわけで、Pythonのプログラムの構成と実行に関してのメモです。
- Pythonのコードを含んだ、拡張子がpyのテキストファイルをモジュールと呼ぶ。その中にはクラスや関数や実行部分が含まれる。モジュールをいくつか集めてまとめたものがパッケージ。いくつかのパッケージをまとめてインストールできるようにしたものがライブラリ。
- 他のモジュールで定義された関数、変数を利用するにはimport を使って取り込む。
- Pythonは上から下に順にプログラム文を読んで解釈していくので、関数は先に定義しておく。実行部分はその後に書く。実行部分で呼ばれる関数が定義されていないとエラーになる。
- 実行部分のコードは、main()関数で括るようにするとわかりやすくなる。ただし、javaと違って、必ず最初に実行されるというわけではない。
- Pythonファイルは、必ず__name__という属性を持ち、そのファイルがプログラムとして起動されると'__main__'が値として代入される。つまり、プログラムとして起動されているときは、__name__ == '__main__'が成立する。そこで、実行部分において以下のように if __name__ == '__main__': のブロックにmain()を入れておくと、プログラムとして実行されるときはmain()が実行され、他のモジュールからimportされるときは、モジュールは読み込まれるが、main()が実行されることはない。
if __name__ == '__main__': main()