
图1:Python变量与变量名核心概念示意图
一、什么是Python变量与变量名?
刚学Python,第一个要搞懂的就是变量。你可以把变量想象成一个贴了标签的盒子,特别好理解:
- 盒子里装的是数据:比如数字、文字、列表这些,是我们要处理的内容
- 盒子上贴的标签就是变量名:用来给这个盒子起个名字,方便我们找到它
- 通过变量名,就能随时拿到盒子里的数据:不用每次都重新写一遍数据,直接用名字就行
举个最简单的例子,我们把年龄18存到变量里:
# 定义一个变量,把数字18存进去 # 语法:变量名 = 数据,= 是赋值符号,不是数学里的等于 age = 18 # 直接用变量名,就能拿到里面的数据,打印出来 print(age) # 输出结果:18
这里的 age 就是变量名,18 是存在变量里的数据,= 是赋值符号,意思是“把右边的数据,存到左边的变量里”。
二、变量的定义与赋值:Python最基础的操作
在Python里,定义变量超级简单,只需要一个 = 就搞定,语法就一行:
# 变量定义的通用语法 变量名 = 数据
给大家举几个不同类型的赋值例子,覆盖日常开发的常用场景,新手可以直接复制运行:
# 1. 存储整数(年龄、分数、数量等整数数据) age = 18 # 年龄 score = 95 # 考试分数 count = 100 # 商品数量 # 2. 存储浮点数(身高、价格、圆周率等带小数的数据) height = 178.5 # 身高,单位cm price = 29.99 # 商品价格 pi = 3.1415926 # 圆周率 # 3. 存储字符串(姓名、地址、文字内容,必须用引号包裹,单双引号都可以) name = "小白编程笔记" # 姓名 address = '北京市朝阳区' # 地址,用单引号 intro = "专注Python零基础入门" # 个人介绍 # 4. 存储布尔值(真/假,用于条件判断,只有True和False两个值,首字母必须大写) is_student = True # 是否是学生:是 is_vip = False # 是否是VIP:否
新手必踩坑提醒
= 是「赋值」,不是数学里的「等于」!它的作用是把右边的数据存到左边的变量里,千万不要搞混。比如 age = age + 1 在数学里不成立,但在Python里是合法的,意思是“把age原来的值加1,再存回age里”,常用于计数、年龄自增等场景。

图2:Python变量名命名规则对比示意图
三、变量名的命名规则:必须严格遵守,否则直接报错
变量名不是随便起的,Python有严格的语法规则,违反任何一条,运行代码都会直接报错,新手一定要记死这4条:
- 只能由字母、数字、下划线组成:不能包含空格、感叹号、@#$%^&*这些特殊符号
- 绝对不能以数字开头:必须以字母(a-z/A-Z)或下划线(_)开头
- 严格区分大小写:
Name、name、NAME是三个完全不同的变量,千万不要搞混 - 不能使用Python关键字和内置函数:这些是系统专用的,用了会导致程序崩溃
四、这些名字,绝对不能当变量名!
Python里有两类名字,是绝对不能用来当变量名的,用了就会出大问题,新手一定要避开:
1. Python关键字(保留字)
这些是Python的语法专用词,比如 if、else、for、while、def、class、return、import、True、False、None 等,强行使用会直接语法报错,无法运行代码。
2. Python内置函数
这些是Python自带的工具函数,比如 print、input、type、list、str、int、max、min 等。如果用它们当变量名,会直接覆盖系统函数,导致后续无法正常使用,很多新手都踩过这个坑!
举个最常见的错误:print = 100,这会把系统的 print() 函数覆盖,之后再用 print() 就会报错,再也无法打印内容!
合法的变量名示例
- my_name(蛇形命名,推荐)
- age123(字母+数字)
- _user_id(下划线开头)
- userName(驼峰命名,可选)
- total_score(多个单词下划线连接)
不合法的变量名示例
- 123age(数字开头,违反规则2)
- my-name(用了减号,违反规则1)
- my name(包含空格,违反规则1)
- if(Python关键字,违反规则4)
- print(内置函数,违反规则4)
五、变量名的命名规范:让代码更专业、更易读
规则是「必须」遵守的,规范是「建议」遵守的。遵循Python社区的命名规范,能让你的代码更易读、更专业,别人一看就懂,自己后续维护也方便:
- 见名知意:变量名要能表达数据的含义,比如
age代表年龄,score代表分数,绝对不要用a、b、x这种无意义的名字 - 蛇形命名法(Python官方推荐):多个单词用下划线连接,比如
user_name、total_score,符合Python社区PEP8规范,可读性最高 - 避免拼音:尽量用英文命名,不要用
nianling、chengji这种拼音,不符合国际规范,其他开发者看不懂 - 不要过于简短:除非是循环计数器这种临时变量,否则不要用单个字母命名,可读性太差
- 不要用中文:虽然Python3语法上支持,但强烈不推荐!会导致代码兼容性差、乱码,完全不符合行业规范

图3:Python变量动态类型特性示意图
六、Python变量的核心特性:动态类型
Python是一门动态类型语言,这是它和C、Java等静态语言最大的区别,也是新手最容易理解错的点:
- 变量本身没有类型,数据才有类型:变量只是一个指向数据的“标签”,不是装数据的容器
- 同一个变量,可以随时存储不同类型的数据:不用提前声明类型,Python会自动识别数据类型
# 动态类型特性演示,新手可以直接运行 # 1. 先给x存一个整数(int类型) x = 10 # 打印x的值和它的类型,type()函数用来查看数据类型 print(x, type(x)) # 输出:10 <class 'int'> # 2. 再给x存一个字符串(str类型),同一个变量可以存不同类型的数据 x = "Hello Python" print(x, type(x)) # 输出:Hello Python <class 'str'> # 3. 再给x存一个布尔值(bool类型) x = True print(x, type(x)) # 输出:True <class 'bool'>
这个特性让Python写起来超级灵活,但新手也要注意:不要随意改变变量的类型,会让代码可读性变差,容易出难以排查的bug。
七、变量的实用技巧:新手必学,提升代码效率
掌握这些实用技巧,能让你写代码效率翻倍,避免常见错误,新手一定要练会:
1. 变量必须先定义,后使用
这是Python最基础的规则,变量没赋值就使用,会直接报 NameError 错误,新手一定要记住:
# 错误写法:使用未定义的变量,直接报错 print(age) # NameError: name 'age' is not defined # 正确写法:先定义赋值,再使用 age = 18 print(age) # 正常输出:18
2. 多个变量赋值的简洁写法
Python支持一次性给多个变量赋值,不用写多行代码,超级简洁,适合批量定义变量:
# 1. 给多个变量赋相同的值,一行搞定 a = b = c = 0 print(a, b, c) # 输出:0 0 0 # 2. 给多个变量赋不同的值,按顺序一一对应 # 左边变量的数量,必须和右边数据的数量完全一致 name, age, score = "小白", 18, 95.5 print(name, age, score) # 输出:小白 18 95.5
3. 变量交换:Python特有写法,无需临时变量
在其他语言里交换两个变量,需要一个临时变量中转,但Python里一行代码就搞定,非常方便:
# 定义两个变量
a = 10
b = 20
print("交换前:a =", a, ", b =", b) # 输出:交换前:a = 10 , b = 20
# Python特有写法,无需临时变量,一行完成交换
a, b = b, a
print("交换后:a =", a, ", b =", b) # 输出:交换后:a = 20 , b = 10
八、新手常见问题FAQ(解决90%的疑问)
Q1:Python变量名可以用中文吗?
语法上Python3支持中文变量名,但强烈不推荐!中文变量名会导致代码兼容性差、乱码、可读性低,完全不符合Python社区规范,仅在特殊场景下使用,日常开发绝对不要用。
Q2:变量名区分大小写吗?
严格区分!Name、name、NAME 是三个完全不同的变量,命名时务必注意大小写一致性,否则会出现难以排查的bug,比如定义了name,却用Name访问,直接报错。
Q3:可以用Python内置函数做变量名吗?
绝对不可以!会覆盖系统内置函数,导致后续无法正常使用。比如 print = 100 会让 print() 函数彻底失效,后续打印都会报错,这是新手最常踩的坑之一,一定要避开。
Q4:Python变量可以不初始化直接使用吗?
不可以!变量必须先定义赋值,后使用,否则会触发 NameError 异常,这是Python的基本语法规则,没有任何例外。
Q5:什么是蛇形命名法?为什么推荐?
蛇形命名法就是多个单词用下划线连接,比如 user_name,是Python官方PEP8规范推荐的写法,可读性高,符合Python社区习惯,而驼峰命名(userName)更适合Java,Python里尽量用蛇形,保持代码风格统一。
九、实战练习(必做!敲代码才是硬道理)
学Python不敲代码等于白学,下面4个练习覆盖本文所有核心知识点,建议新手独立完成,不会的再回头看文章,彻底吃透变量知识:
- 定义3个合法变量,分别存储你的姓名、年龄、身高,并用
print()输出,验证赋值是否正确 - 修改其中一个变量的值,用
type()查看类型,理解Python变量的动态类型特性 - 尝试定义一个不合法的变量名(比如数字开头、用关键字),观察报错信息,加深对命名规则的理解
- 用Python特有的写法交换两个变量的值,验证结果是否正确,掌握这个实用技巧
十、核心知识点总结(快速复习)
- 变量是存储数据的标签,通过
=完成赋值,=是赋值不是等于,千万不要搞混 - 变量名必须严格遵守4条规则,避开关键字和内置函数,否则直接语法报错
- 遵循蛇形命名、见名知意的规范,让代码更专业、更易读,符合Python社区习惯
- Python是动态类型语言,变量可随时改变存储的数据类型,变量本身无类型
- 变量必须先定义、后使用,否则会触发
NameError异常,这是基础规则 - 掌握多变量赋值、变量交换等实用技巧,提升代码编写效率,减少bug
本文是Python零基础入门系列的开篇核心文章,是Python编程的基础中的基础。更多新手能看懂的Python教程,可查看往期文章:
Python基本数据类型全解析、
Python输入输出与格式化技巧。
想深入了解Python官方语法,可参考Python官方赋值语句文档。
版权声明:本文所有内容(含代码、图片、文字)均为原创,未经授权禁止任何形式的转载、抄袭、洗稿
如需转载,请联系作者获得授权,并在正文开头显著位置标注原文链接和作者信息!
Python变量与变量名
Python零基础
Python变量
Python命名规则
Python入门
Python语法
Python变量命名

渝公网安备50022402001073号
Pingback: Python零基础入门系列专栏:10+篇干货从环境搭建到语法实战,小白一站式学Python - 小白 编程 笔记