クラスの命名規則
Pythonでは、クラス、メソッド、属性の名前を付ける際の一連のルールと規約があります。これらの規約は、コードの一貫性を確保し、読みやすく理解しやすくするために重要です。また、これらの規約に従うことはプロフェッショナルなベストプラクティスでもあります。
クラス名
Pythonでは、クラス名にはCapWords方式(PascalCaseとも呼ばれます)を使用します。このスタイルでは、各単語の最初の文字を大文字にし、単語間にアンダースコア(_)は入れません。
class MyClass: # クラス名は大文字で始まります
pass # クラスが何もしない場合は "pass" を使用します
PascalCaseという用語は、Pascalというプログラミング言語のケース規約に由来します。CapWordsはPythonの公式スタイルガイド(PEP 8)で使用される用語で、PascalCaseと基本的に同じです。
メソッド名
メソッド名はすべて小文字で書き、可読性を高めるために必要に応じて単語間をアンダースコアで区切ります。これはスネークケース(snake_case)とも呼ばれます。例を示します。
class MyClass:
def my_method(self): # メソッド名はすべて小文字です
pass # 単語はアンダースコアで区切ります
属性名
属性名もメソッド名と同じ規約に従い、すべて小文字で書き、必要に応じて単語間をアンダースコアで区切ります。
class MyClass:
def __init__(self):
self.my_attribute = 'some value' # 属性名はすべて小文字で、
# 単語はアンダースコアで区切ります
上のコードでは、
__init__
メソッド内でmy_attribute
という属性を定義しています。__init__
メソッドは、Pythonのクラスで特別なメソッドで、新しいインスタンスが作成されると自動的に呼び出されます。クラス、そのメソッド、および属性の完全な例を見てみましょう。
class MyCar: # クラス名はCapWordsを使用
def __init__(self):
self.car_model = 'Tesla Model 3' # 属性名はスネークケースを使用
def start_engine(self): # メソッド名もスネークケースを使用
print('Engine started!')
Pythonはこれらの命名規約を厳密に強制するわけではありませんが、これらに従うことでコードはよりプロフェッショナルで、読みやすく、一貫性のあるものとなります。したがって、Pythonコミュニティではこれを良い習慣と考えています。