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 不会强制执行这些命名风格,因此应一致地采用这些约定,并根据项目风格进行调整。