变量命名
1. 变量命名的基本规则
在 Python 中,变量名必须遵循以下规则:
-
只能包含字母、数字和下划线,并且不能以数字开头。
- 示例:合法的变量名有
name
,age23
,school_name
等。 - 不合法的变量名有
1name
,school-name
等。
- 示例:合法的变量名有
-
区分大小写。
-
age
和Age
是两个不同的变量。
-
-
不能使用 Python 的保留字,如
if
,for
,while
,class
等。- 示例:
for
不能作为变量名,但可以用for_
代替。
- 示例:
-
变量名应简洁且具有描述性,使代码更易读和维护。
2. 常用命名规范
2.1 使用下划线分隔单词(snake_case)
在 Python 中,通常采用小写字母和下划线分隔的方式(snake_case
),这是一种广泛使用的变量命名方式。
-
示例:
user_name = "yanchen" # 使用小写字母和下划线分隔单词 age = 18 # 简单的变量名 university = "国防科技大学" # 简洁的描述性名称 city = "长沙" # 描述性强的变量
2.2 使用全大写表示常量
通常在代码中,我们用全大写字母表示常量(不变的值)。常量名称中间用下划线分隔,这样的命名便于一眼看出该变量不应被修改。
-
示例:
MAX_AGE = 100 # 假设这是某个最大年龄限制 BIRTH_YEAR = 2000 # 假设你的出生年份
3. 一些举例
根据你的个人信息,以下是一些合理的变量命名示例:
# 基本个人信息
name = "yanchen" # 存储名字
age = 18 # 存储年龄
university_name = "国防科技大学" # 存储大学名称
city_of_residence = "长沙" # 存储居住城市
# 更详细的信息(扩展为描述性变量)
birth_year = 2000 # 假设你的出生年份
hobby_list = ["阅读", "运动"] # 兴趣爱好,可以用列表形式
is_student = True # 布尔变量,表示是否为学生
graduation_year = 2025 # 假设毕业年份
4. 常见变量命名的类别与规范
4.1 布尔值命名
布尔值(True
或 False
)的变量通常用 is_
或 has_
开头,表示状态或特性。
-
示例:
is_student = True # 表示是否是学生 has_scholarship = False # 表示是否有奖学金 is_graduated = False # 表示是否已毕业
4.2 列表和集合的命名
如果一个变量存储多个值(如兴趣爱好、已修课程等),可以用复数形式或 _list
结尾。
-
示例:
hobbies = ["阅读", "运动"] # 兴趣爱好 completed_courses = ["数学", "物理"] # 已修课程 friend_names = ["王子维", "胡帅"] # 朋友的名字
4.3 使用描述性强的名字
变量命名时,尽量选择能够反映变量内容的名字,不要过于简短或模糊。比如,name
可以更明确为 user_name
或 student_name
。
-
示例:
user_name = "yanchen" # 用户名 current_city = "长沙" # 当前居住城市 enrolled_university = "国防科技大学" # 所在大学
5. 不推荐的命名方式
-
使用无意义的单字符变量名(除非在循环中,通常我们避免使用单字符变量名)。
- 如
a = 18
,n = "国防科技大学"
,这种命名方式信息不明确。
- 如
-
混用大小写(除非明确需要区分大小写),过多的大小写会影响可读性。
- 如
MyName = "yanchen"
,AGE18 = 18
,不推荐在普通变量中使用驼峰或全大写,容易误解。
- 如
-
模糊的缩写,除非缩写很常用,否则避免使用不直观的缩写。
- 如
usr = "yanchen"
可能代表用户(user),但最好用user_name
这样更清晰。
- 如
6. 结合示例的完整代码
综合以上命名规则,以下是一段 Python 代码示例:
# 基本信息
user_name = "yanchen" # 用户名
age = 18 # 年龄
university_name = "国防科技大学" # 大学名称
city_of_residence = "长沙" # 居住城市
birth_year = 2000 # 出生年份
is_student = True # 是否为学生
graduation_year = 2025 # 预计毕业年份
# 扩展信息
hobby_list = ["阅读", "运动"] # 兴趣爱好
has_scholarship = False # 是否有奖学金
completed_courses = ["数学", "物理"] # 已修课程
friend_names = ["王子维", "胡帅"] # 朋友名字列表
No Comments