変数とメソッドの正しい大文字と小文字と形式、および Python の場合
-
20-09-2019 - |
質問
したがって、一部の言語には予期される規則があることはわかっています。
PHP - underscore_case()
[ほとんどの場合、笑]
ジャワ - camelCase()
C# - PascalCase()
等
「Pythonic」命名規則とは何ですか?最終的には重要ではないことはわかっていますが、ほとんどのモジュールが実行される「ベストプラクティス」の方法があるかどうか疑問に思っています。
解決
二つの単語: PEP8.
PEP 8 は、(事実上の) Python スタイル ガイドです。このドキュメントのハイライトのいくつか (一部の内容は意図的に省略しました。元のドキュメントを徹底的に読んでください):
パッケージ名とモジュール名:すべて小文字の名前。読みやすくする場合は、モジュール名にアンダースコアを使用できます。
クラス名:ほぼ例外なく、クラス名には CapWords 規則が使用されます。*
グローバル変数名:規則は関数の規則とほぼ同じです。
関数名:関数名は小文字にする必要があり、読みやすくするために必要に応じて単語をアンダースコアで区切ります。mixedCase は、それがすでに普及しているスタイルであるコンテキストでのみ許可されます (例:
threading.py
)、下位互換性を維持するために。メソッド名とインスタンス変数:読みやすくするために、必要に応じて単語をアンダースコアで区切って小文字にします。先頭に 1 つのアンダースコアを使用するのは、非パブリック メソッドとインスタンス変数の場合のみです。
定数:すべて大文字で書かれ、単語はアンダースコアで区切られます。例としては以下が挙げられます。
他のヒント
読む PEP 8 のます。
これは、Pythonの生みの親、グイド・ヴァンロッサムによって書かれ、Pythonコードのためのスタイルガイドです。
ところで、あなたの質問への答えは、クラスの変数と関数名のためunderscore_case
、およびPascalCase
を使用することです。
7つの言葉: Google Summer of Code Python スタイル ガイド
一部の命名規則は PEP8 とは異なり、このスタイル ガイドの元となったオリジナルの Google Python スタイル ガイドに従っていることに注意してください。
- 「内部」とは、モジュールの内部、またはクラス内の保護またはプライベートを意味します。単一のアンダースコア (_) を先頭に追加すると、モジュール変数と関数を保護するためのサポートが提供されます (import * from には含まれていません)。
- インスタンス変数またはメソッドの前に二重アンダースコア (__) を付加すると、変数またはメソッドをそのクラスに対してプライベートにすることができます (名前マングリングを使用)。
- 関連するクラスとトップレベル関数をモジュール内にまとめて配置します。Java とは異なり、モジュールごとに 1 つのクラスに制限する必要はありません。ただし、同じモジュール内のクラスとトップレベル関数の凝集度が高いことを確認してください。
- クラス名には CapWords を使用しますが、モジュール名には lower_with_under.py を使用します。
命名例
- パッケージ:
lower_with_under
- モジュール:
lower_with_under
,_lower_with_under
- クラス:
CapWords,
_CapWords
- 例外:
CapWords
- 機能:
firstLowerCapWords()
,_firstLowerCapWords()
- グローバル/クラス定数:
CAPS_WITH_UNDER
,_CAPS_WITH_UNDER
- グローバル/クラス変数:
lower_with_under
,_lower_with_under
- インスタンス変数:
lower_with_under
,_lower_with_under
(保護されている) または__lower_with_under
(プライベート)- メソッド名:
firstLowerCapWords()
,_firstLowerCapWords()
(保護されている) または__firstLowerCapWords()
(プライベート)- 関数/メソッドのパラメータ:
lower_with_under
- ローカル変数:
lower_with_under