当前位置:首页>python>Python变量定义与命名规则——代码的基石

Python变量定义与命名规则——代码的基石

  • 2026-09-05 14:56:23
Python变量定义与命名规则——代码的基石

一、什么是变量?

变量是程序中用来存储数据的“容器”——就像贴了标签的盒子,你可以往里面放东西,也可以随时取出或更换。

# 变量定义:盒子名 = 里面的东西
name = "小明"# name这个盒子里放了"小明"
age = 18# age这个盒子里放了18

变量三要素:

  • • 变量名:盒子的标签
  • • 赋值符号:=(不是数学里的等号,而是“把...放进...”)
  • • 变量值:盒子里的内容

二、变量的定义与使用

2.1 基本定义语法

变量名 = 值

案例:

# 字符串变量
name = "Python"
course = "编程入门"

# 数字变量
version = 3.11
year = 1991

# 布尔变量
is_easy = True
is_free = False

# 使用变量
print(name)        # Python
print(version)     # 3.11
print(name + "诞生于" + str(year))  # Python诞生于1991

2.2 变量的特性

特性1:动态类型——变量类型由值决定,随时可改变

# 同一个变量可以赋不同类型
x = 10# 整数
print(type(x))  # <class 'int'>

x = "Hello"# 字符串
print(type(x))  # <class 'str'>

x = True# 布尔值
print(type(x))  # <class 'bool'>

特性2:变量可以重新赋值

score = 80
print(score)  # 80

score = 95# 重新赋值
print(score)  # 95

score = score + 5# 在原值基础上增加
print(score)  # 100

特性3:多个变量可以同时赋值

# 方式1:一行一个
a = 1
b = 2
c = 3

# 方式2:一行多个(元组解包)
a, b, c = 1, 2, 3

# 方式3:相同值
x = y = z = 0

2.3 变量定义实战案例

案例1:个人信息卡

# 定义变量
name = "张三"
age = 25
city = "北京"
job = "Python工程师"
salary = 20000

# 使用变量
print("=" * 30)
print("        个人名片")
print("=" * 30)
print(f"姓名:{name}")
print(f"年龄:{age}岁")
print(f"城市:{city}")
print(f"职业:{job}")
print(f"月薪:{salary}元")
print("=" * 30)

案例2:简单计算器

# 定义变量
a = 15
b = 4

# 各种运算
sum_result = a + b
diff_result = a - b
product_result = a * b
quotient_result = a / b
remainder = a % b

# 输出结果
print(f"{a} + {b} = {sum_result}")
print(f"{a} - {b} = {diff_result}")
print(f"{a} × {b} = {product_result}")
print(f"{a} ÷ {b} = {quotient_result}")
print(f"{a} ÷ {b} 的余数 = {remainder}")

三、命名规则(必须遵守)

3.1 硬性规则(不遵守会报错)

规则1:只能包含字母、数字、下划线

# ✅ 正确
name = "小明"
user_name = "小红"
age2 = 18
_private = "私有变量"

# ❌ 错误
user-name = "张三"# 不能有短横线
name$ = "李四"# 不能有美元符号
2age = 20# 不能以数字开头

规则2:不能以数字开头

# ✅ 正确
user1 = "用户1"
user_2 = "用户2"

# ❌ 错误
1user = "用户1"# SyntaxError
123abc = "测试"# SyntaxError

规则3:不能是Python关键字

# Python关键字列表(共35个)
# False, True, None, and, or, not, if, else, elif
# for, while, break, continue, return, def, class
# import, from, as, try, except, finally, with
# is, in, lambda, global, nonlocal, pass, assert
# raise, yield, del, await, async

# ✅ 正确
class_name = "Python班"# 加下划线避免冲突
if_condition = True# 加下划线

# ❌ 错误
class = "Python班"# class是关键字
if = True# if是关键字
return = 10# return是关键字

规则4:区分大小写

# 以下三个是完全不同的变量
name = "小明"
Name = "小红"
NAME = "小刚"

print(name)  # 小明
print(Name)  # 小红
print(NAME)  # 小刚

3.2 命名规范(建议遵守)

规范1:见名知意

# ❌ 不好的命名
a = "张三"
b = 25
c = "北京"

# ✅ 好的命名
name = "张三"
age = 25
city = "北京"

规范2:使用下划线分隔单词(蛇形命名法)

# Python官方推荐:小写字母 + 下划线
user_name = "admin"
first_name = "张"
last_name = "三"
is_logged_in = True
total_price = 199.99

规范3:常量用全大写

# 常量:程序中不该改变的值
PI = 3.14159
MAX_SIZE = 100
DEFAULT_COLOR = "black"
TAX_RATE = 0.13

规范4:类名用驼峰命名

# 类名:首字母大写(大驼峰)
classStudentInfo:
pass

classCarModel:
pass

四、变量命名实战对照

4.1 学生信息场景

# ❌ 糟糕的命名
s1 = "张三"
s2 = 18
s3 = 90.5
s4 = True

# ✅ 优秀的命名
student_name = "张三"
student_age = 18
student_score = 90.5
is_passed = True

# 或者用前缀分组
stu_name = "张三"
stu_age = 18
stu_score = 90.5
stu_pass = True

4.2 电商场景

# ❌ 糟糕的命名
p = "笔记本电脑"
q = 2
u = 5999.00
d = 0.1

# ✅ 优秀的命名
product_name = "笔记本电脑"
quantity = 2
unit_price = 5999.00
discount_rate = 0.1

# 计算总价
total_price = quantity * unit_price * (1 - discount_rate)
print(f"商品:{product_name},数量:{quantity},总价:{total_price}元")

4.3 游戏场景

# ❌ 糟糕的命名
x = 100
y = 200
h = 100
s = 5

# ✅ 优秀的命名
player_x = 100
player_y = 200
player_health = 100
player_speed = 5

enemy_x = 300
enemy_y = 150
enemy_health = 80

五、变量的数据类型

5.1 基本数据类型

类型
名称
示例
说明
int
整数
age = 18
没有小数点的数字
float
浮点数
price = 19.99
带小数点的数字
str
字符串
name = "Python"
文本,必须加引号
bool
布尔值
is_ok = True
只有True/False
NoneType
空值
data = None
表示“什么都没有”

5.2 查看变量类型

# type()函数查看类型
name = "Python"
version = 3.11
year = 1991
is_popular = True

print(type(name))     # <class 'str'>
print(type(version))  # <class 'float'>
print(type(year))     # <class 'int'>
print(type(is_popular))  # <class 'bool'>

# 类型转换
age_str = "25"
age_int = int(age_str)     # 字符串转整数
price_float = float("19.99")  # 字符串转浮点数
age_str_again = str(25)    # 整数转字符串

六、常见错误与解决方法

错误1:使用未定义的变量

# ❌ 错误
print(age)  # NameError: name 'age' is not defined

# ✅ 正确
age = 18
print(age)

错误2:拼写不一致

# ❌ 错误
user_name = "小明"
print(usr_name)  # NameError(拼写错误)

# ✅ 正确
user_name = "小明"
print(user_name)  # 保持一致

错误3:混淆=和==

# = 是赋值,== 是等于比较
# ❌ 错误
if score = 100:  # 这里应该是==
print("满分")

# ✅ 正确
if score == 100:
print("满分")

错误4:中文变量名(不推荐)

# Python3支持中文变量名,但强烈不推荐
姓名 = "张三"# 虽然能运行,但不要这样写
年龄 = 25# 与国际惯例不符,合作困难

# ✅ 正确做法
name = "张三"
age = 25

七、变量命名最佳实践总结

7.1 好变量名的特征

✅ 描述性强:total_price 优于 tp
✅ 长度适中:user_age 优于 u_a 也优于 this_is_the_age_of_the_current_user
✅ 符合习惯:遵循团队或社区的命名规范
✅ 一致性:全项目用同一种命名风格

7.2 变量命名速查表

场景
推荐命名
不推荐
用户姓名
user_name
、full_name
name
(太笼统)
年龄
age
、user_age
a
是否激活
is_active
、is_enabled
active
(容易误解)
总数
total_count
、total
count
(不够明确)
价格
unit_price
、total_price
p
、pr
日期
create_date
、start_time
date
(什么日期?)
列表
user_list
、names
list
(覆盖关键字)

7.3 三字口诀

见名知意是第一
下划线分单词好
常量全用大写标
关键字名要避开
大小写意要分清
命名规范终身用

八、练习与验证

练习1:找出错误命名

# 以下哪些变量名是错的?为什么?
1. user-name = "张三"
2. _private = "私有"
3. 2nd_place = "亚军"
4.class = "Python"
5. user_name = "李四"
6.if = True
7. max_value = 100
8.import = "模块"

答案: 1(有横线)、3(数字开头)、4(class关键字)、6(if关键字)、8(import关键字)


练习2:改进命名

# 把下面的变量名改得更好
a = "苹果"# 改为:product_name
b = 5# 改为:quantity
c = 8.5# 改为:unit_price
d = True# 改为:in_stock
e = a + ":" + str(b)  # 保持逻辑

练习3:完整案例优化

# 原代码(命名糟糕)
n = "张三"
a = 25
s = 185.5
w = 75.5
h = "游泳"
m = "13800138000"

# 优化后
name = "张三"
age = 25
height = 185.5
weight = 75.5
hobby = "游泳"
mobile = "13800138000"

print(f"姓名:{name}")
print(f"年龄:{age}岁")
print(f"身高:{height}cm")
print(f"体重:{weight}kg")
print(f"爱好:{hobby}")
print(f"手机:{mobile}")

写在最后

变量是编程的基石,好的变量名是写好代码的第一步:

  • • 机器只看语法是否正确
  • • 人要看名字是否清晰

养成习惯: 写变量名前先想3秒——“这个名字别人能看懂吗?一周后的自己能看懂吗?”

记住: 代码是写给机器运行的,但更是写给人看的。

最新文章

随机文章