Pythonのクラスは通常、camelCaseを使用してケースされます。
また、クラスを含むファイルをキャメルケースにするのは通常の規則ですか?特にファイルにクラスのみが含まれる場合は?
たとえば、クラスclassName
もclassName.py
ではなくclass_name.py
に格納する必要がありますか?
次の回答は、主に this answer からのものです。
PEP 8を使用する場合は、オプションのアンダースコアを使用して、すべて小文字の名前を使用する必要があります。
モジュールには、すべて小文字の短い名前を付ける必要があります。読みやすさを改善する場合は、モジュール名にアンダースコアを使用できます。
クラスの場合:
クラス名は通常、CapWords規則を使用する必要があります。
モジュール、クラス、パッケージの違いについては、 この回答 をご覧ください:
Pythonモジュールは単にPythonソースファイルであり、クラス、関数、グローバル変数を公開できます。
公式の規則では、ファイル名にはすべて小文字を使用します(他の人が既に述べているように)。しかし、理由は言及されていません...
Pythonはクロスプラットフォームで動作します(そして、そのように使用するのが一般的です)が、ファイルシステムは大文字と小文字の使用が異なるため、別のケースを排除することをお勧めします。インスタンスでは、MyClass.pyとmyclass.pyを同じディレクトリに置くことができますが、Windowsではそうではありません!
関連する注意事項として、gitリポジトリにMyClass.pyとmyclass.pyがある場合、または同じファイルの大文字と小文字を変更するだけで、LinuxとWindowsをプッシュ/プルすると、gitはファンキーな動作をする可能性があります。
また、トピックについてはほとんど説明していませんが、同じ流れで、SQLにはこれらの同じ問題があり、異なる標準と構成によってテーブル名にUpperCasesが許可される場合と許可されない場合があります。
個人的には、ファイル名であってもTitleCasing/camelCasingを読む方が楽しいと思いますが、クロスプラットフォームで動作することができるものを実行するときは、最も安全です。
私の質問は、クラスを含むファイルをキャメルケースにすることも通常の規則ですか?特にファイルにクラスのみが含まれている場合
短い答え:いいえ。
より長い回答:必要に応じて、すべて小文字でアンダースコアにする必要があります。
モジュールには、すべて小文字の短い名前を付ける必要があります。読みやすさを改善する場合は、モジュール名にアンダースコアを使用できます。 Pythonパッケージには、すべて小文字の短い名前を付ける必要がありますが、アンダースコアの使用は推奨されません。
module が何であるかわからない場合:
モジュールは、Python定義とステートメントを含むファイルです。ファイル名は、拡張子.pyが追加されたモジュール名です。