pythonプログラムに関するノウハウについて #命名規約

2024/01/12 倉科空明

今年度初めてプログラムを触り初めてPythonを主に学んできましたが、関数やコードを調べたりChatGPTなどを使用してコードを作りましたがPythonの基本的な常識などを知らずに作成していました。 そこで今回は、プログラムを作成するときに必ず使う変数やモジュール、クラスなどの名前のつけ方について参考文献[1]で書かれていたことを具体的な例を挙げてPythonの命名規約についてまとめてみました。

命名規約について

    パッケージとモジュール
sample.pyやsample.html等のモジュール名+フォーマット名のモジュールとモジュールが複数個集まったフォルダであるパッケージの命名規約について具体的な例を挙げて説明します。 パッケージとモジュールは全て小文字の短い名前を使用し、「_」(アンダースコア)はパッケージ名で使用するのは推奨されていません。そのため、上の写真のような「line_webhook」というパッケージは、全て小文字の短い名前を使用し「_」が非推奨であるため「linewebhook」のように修正することが望まれます。 また、「kumoharaconfig.py」や「KUMOHARAMEMBER.py」といったモジュールは、全て小文字の短い名前を使用しわかりやすくするために「_」を使い「kumohara_config.py」、「kumohara_member.py」のように修正することが望まれます。 パッケージとモジュールについて知りたい方は、参考文献[2]をご覧ください。
    クラス
Pythonという言語で大きなプログラムを作成するときには必ず使用するクラスの命名規約について具体的な例を挙げて説明します。 クラスは、単語ごとの最初の一文字を大文字にするCapWords方式を使用します。そのため、上の写真のような「vending_machine」というクラスは、単語ごとの最初の一文字を大文字にするCapWords方式を使用して「VendingMachine」のように修正することが望まれます。 クラスについて知りたい方は、参考文献[3]をご覧ください。
    関数と変数と定数
単純でないプログラムを作成するときに必ず使用する関数やどのようなプログラムでも使う変数と定数の命名規約について具体的な例を挙げて説明します。 関数と変数は、小文字のみを使用し「_」(アンダースコア)を使用して単語を区切る必要があり、定数は全ての定数は大文字で書き単語をアンダースコアで区切る必要があるそうです。 そのため、上の写真のような「calcChange」や「Orders」といった関数は、小文字のみを使用し「_」を使用して単語を区切るため「calc_change」や「orders」のように修正することが望まれます。 また、「SHOW_SPECIAL_BUTTON」等の変数は小文字のみを使用し「_」を使用して単語を区切るため「show_special_button」のように修正することが望まれます。 そして、「mysql_host」や「MysqlUser」等の定数は、大文字で書き単語を「_」で区切るため「MYSQL_HOST」や「MYSQL_USER」等のように修正することが望まれます。 関数や定数、変数について知りたい方は、参考文献[4]や[5]をご覧ください。
参考文献:
[1]https://pep8-ja.readthedocs.io/ja/latest/
[2]https://kanda-it-school-kensyu.com/python-basic-contents/pbc_ch11/pbc_1101/
[3]https://camp.trainocate.co.jp/magazine/python-class/
[4]https://www.tohoho-web.com/python/variables.html
[5]https://www.tohoho-web.com/python/function.html