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
このコードでは、変数名がa
やb
のように不適切であり、コードの意図がわかりにくいです。一方、以下のように適切な命名規則に従って書くと、コードの意図が明確になります。
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のコーディングにおいて、適切な命名規則を守ることは重要です。変数名や関数名、クラス名、定数名に適切な命名規則を適用することで、プログラムの可読性や保守性が向上し、コードの品質が向上します。また、命名規則を変更する際には、注意深く行う必要があります。
コメント