Pythonの命名規則について徹底解説

Pythonのプログラムを書く際には、変数や関数、クラスなどの識別子の名前に適切な命名規則を守ることが重要です。本記事では、Pythonの命名規則について、具体的なルールや重要性、変更方法などについて説明します。

まずはじめにPythonの命名規則のルールをまとめると次のとおりです。この命名規則について詳しく解説していきます。

対象ルール
パッケージ全小文字 アンダースコア非推奨requests, numpy
モジュール全小文字 アンダースコア可sys, os
クラスキャメルケースMyClass
例外キャメルケースMyError
型変数キャメルケースMyType
メソッドスネークケースmy_method
関数スネークケースmy_function
変数スネークケースmy_instance
定数全大文字 アンダースコア区切りMY_CONST
命名規則の一覧

プログラミング言語全般についての命名について知りたい場合は?

この記事では、Pythonに特化した命名規則だけでなく、一般的な命名規則についても包括的に説明しています。さらに、ケバブケースやハンガリアン記法などのマニアックな命名規則についても詳しく触れていますので、興味があれば参考にしてみてください。

変数名の命名規則

変数名には、小文字の単語をアンダースコアで結合した「スネークケース」が使われます。たとえば、count_totalのようにします。

count_total = 10

変数名に使用できる文字は、アルファベット、数字、アンダースコアのみです。また、変数名は数字から始めることはできません。

適切な変数名の例としては、以下のようなものがあります。

total_count = 100
user_age = 25
tax_rate = 0.1

一方、適切でない変数名の例としては、以下のようなものがあります。

t = 100 # 短すぎて説明的ではありません
abc123 = "hello" # 文字と数字を混ぜることは推奨されません
first name = "John" # 変数名にはスペースを含めることはできません

関数名の命名規則

関数名にも、スネークケースが使われます。また、関数名は動詞から始めるのが一般的です。たとえば、calculate_totalのようにします。

def calculate_total(price, tax_rate):
    total_price = price * (1 + tax_rate)
    return total_price

関数名には、アルファベット、数字、アンダースコアを使用できますが、数字から始めることはできません。

適切な関数名の例としては、以下のようなものがあります。

calculate_total(100, 0.1)
get_user_name(user_id)
print_result(result_list)

一方、適切でない関数名の例としては、以下のようなものがあります。

func = lambda x: x ** 2 # 説明的ではありません
x = 10 # 関数名ではありません
calculateTotal = calculate_total # キャメルケースとスネークケースを混在させています

クラス名の命名規則

クラス名には、単語の最初の文字を大文字にした「キャメルケース」が使われます。たとえば、Personのようにします。

class Person:
    def __init__(self, name, age):
        self.name = name
        self.age = age

クラス名には、アルファベットと数字を使用できますが、数字から始めることはできません。また、クラス名は名詞から始めるのが一般的です。

適切なクラス名の例としては、以下のようなものがあります。

Person
Rectangle
Car

一方、適切でないクラス名の例としては、以下のようなものがあります。

MyClass # 説明的ではないクラス名
1MyClass # 数字で始めることはできません
myClass # キャメルケースとスネークケースを混在させています

定数の命名規則

定数には、全ての文字を大文字にし、単語をアンダースコアで結合した「大文字とアンダースコア」が使われます。たとえば、TAX_RATEのようにします。

TAX_RATE = 0.1

定数には、アルファベットと数字を使用できますが、数字から始めることはできません。

適切な定数名の例としては、以下のようなものがあります。

TAX_RATE = 0.1
PI = 3.14159
MAX_SIZE = 100

一方、適切でない定数名の例としては、以下のようなものがあります。

taxRate = 0.1 # UPPER_CASEではありません
PI_VALUE = 3.14159 # 冗長な単語が含まれています
100_SIZE = 100 # 数字で始めることはできません

命名規則の重要性

適切な命名規則を守ることで、プログラムの可読性や保守性が向上し、コードの品質が向上します。たとえば、以下のコードを見てみましょう。

a = 10
b = 20
c = a + b
print(c)  # Output: 30

このコードでは、変数名がabのように不適切であり、コードの意図がわかりにくいです。一方、以下のように適切な命名規則に従って書くと、コードの意図が明確になります。

first_number = 10
second_number = 20
sum = first_number + second_number
print(sum)  # Output: 30

適切な命名規則に従ってコードを書くことで、コードの可読性が向上するだけでなく、変数名や関数名からプログラムの動作を予測しやすくなります。

命名規則の変更方法

既存のコードの変数名や関数名を変更する場合、以下の点に注意する必要があります。

  • 変更前の名前がプログラムの他の部分と競合しないようにする。
  • 変更後の名前が意味を持ち、コードの意図が明確になるようにする。
  • 変更前の名前がどの程度使用されているかを把握しておき、変更後の名前を一括で置き換えるか、段階的に変更するかを決定する。

以下は、変数名を変更する例です。

# Before
num_of_items = 10
total_price = num_of_items * 100
print(total_price)  # Output: 1000

# After
item_count = 10  # Renamed from num_of_items
total_price = item_count * 100
print(total_price)  # Output: 1000

変更前の変数名num_of_itemsは意味を持たない単語の組み合わせであり、変更後の変数名item_countには意味がある名前に変更されました。

まとめ

Pythonのコーディングにおいて、適切な命名規則を守ることは重要です。変数名や関数名、クラス名、定数名に適切な命名規則を適用することで、プログラムの可読性や保守性が向上し、コードの品質が向上します。また、命名規則を変更する際には、注意深く行う必要があります。

コメント

タイトルとURLをコピーしました