HOWTO · Python

Python 中函式、類別、常數與變數的命名慣例

瞭解 Python 函式、類別、常數與變數的命名慣例,並附有基於 PEP 8 的清楚範例。

本頁內容

Python 的命名慣例能讓程式碼更容易閱讀與維護。PEP 8 是 Python 的風格指南,其中的慣例是建議,不是由語言強制執行的規則。可先採用這些慣例保持一致;若專案已有不同的風格,則依循專案規範。命名建議可參考 PEP 8 命名慣例。

函式的命名慣例

函式名稱使用小寫字詞,並以底線分隔。這種風格稱為 snake_case;例如,calculate_area 能描述函式的動作,也容易辨識。選擇能讓讀者了解函式用途的名稱。

例如,以下函式會計算並顯示矩形的面積:

def calculate_area(length, width):
    return length * width

area = calculate_area(5, 3)
print(area)

輸出:

15

函式名稱使用動詞,參數則描述函式接受的值。呼叫時傳入長度 5 和寬度 3,因此回傳的面積是 15。

Python 的識別名稱區分大小寫,因此 calculate_area 和 Calculate_Area 是不同名稱。名稱可以包含字母、數字和底線,但不能以數字開頭。名稱應保持易讀,不必編入函式本身或周圍程式碼已清楚表達的額外細節。名稱前置單一下底線,例如 _parse_record,表示該名稱預期供內部使用;這不會讓名稱無法存取,也不會使它成為私有名稱。若專案有不同慣例,請依循專案風格。

類別的命名慣例

類別名稱採用 CapWords:每個字詞的首字母大寫,字詞之間不使用底線。這種風格也常稱為 PascalCase。它能讓 Car 這類類別名稱與函式或變數名稱有所區別。

class Car:
    def __init__(self, make, model):
        self.make = make
        self.model = model

my_car = Car("Toyota", "Corolla")
print(my_car.make, my_car.model)

輸出:

Toyota Corolla

這裡的 Car 是類別名稱,而 my_car 則符合變數使用的小寫字詞與底線分隔風格。初始化方法會將提供的廠牌和車型存入新物件。

常數的命名慣例

常數通常在模組層級宣告,名稱使用全大寫字詞並以底線分隔。例如,MAX_RETRIES 表示這個值預期保持穩定。全大寫只是命名慣例:Python 不會因為名稱全大寫就讓值變成不可變,因此應透過團隊共識和實務做法避免重新指定它。

PI = 3.14159

def calculate_circle_area(radius):
    return PI * (radius ** 2)

area = calculate_circle_area(5)
print(area)

輸出:

78.53975

常數名稱讓它預期扮演的角色一目了然,函式則使用該常數計算圓形面積。

變數的命名慣例

變數和函式一樣,使用小寫字詞並以底線分隔。比起含義模糊的 x,更適合選用 user_age 這類描述明確的名稱;名稱需要多具體,取決於周圍程式碼提供了多少脈絡。

user_age = 30
def display_age(age):
    print(f"The user is {age} years old.")

display_age(user_age)

輸出:

The user is 30 years old.

user_age 描述了所儲存的值;在簡短函式中,age 作為參數名稱也很清楚。命名一致能幫助讀者理解值在程式中的流向。Python 不會強制這些命名風格,因此應一致地採用這些慣例,並配合專案使用的風格。