01 Python变量与变量名:零基础彻底搞懂(全解析) – 小白编程笔记

Python变量与变量名是Python编程的第一堂课,也是零基础入门必须吃透的核心基础。很多新手刚学Python,第一个踩坑的就是变量命名,要么语法报错,要么写出来的代码别人看不懂。这篇文章我会用最通俗的话,从变量是什么、怎么赋值、命名规则到规范,一步步讲透,帮你彻底搞懂,为后续写代码打下坚实基础。

Python变量与变量名核心概念

图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里”,常用于计数、年龄自增等场景。

Python变量名命名规则 合法vs不合法

图2:Python变量名命名规则对比示意图

三、变量名的命名规则:必须严格遵守,否则直接报错

变量名不是随便起的,Python有严格的语法规则,违反任何一条,运行代码都会直接报错,新手一定要记死这4条:

  1. 只能由字母、数字、下划线组成:不能包含空格、感叹号、@#$%^&*这些特殊符号
  2. 绝对不能以数字开头:必须以字母(a-z/A-Z)或下划线(_)开头
  3. 严格区分大小写NamenameNAME 是三个完全不同的变量,千万不要搞混
  4. 不能使用Python关键字和内置函数:这些是系统专用的,用了会导致程序崩溃

四、这些名字,绝对不能当变量名!

Python里有两类名字,是绝对不能用来当变量名的,用了就会出大问题,新手一定要避开:

1. Python关键字(保留字)

这些是Python的语法专用词,比如 ifelseforwhiledefclassreturnimportTrueFalseNone 等,强行使用会直接语法报错,无法运行代码。

2. Python内置函数

这些是Python自带的工具函数,比如 printinputtypeliststrintmaxmin 等。如果用它们当变量名,会直接覆盖系统函数,导致后续无法正常使用,很多新手都踩过这个坑!

举个最常见的错误: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 代表分数,绝对不要用 abx 这种无意义的名字
  • 蛇形命名法(Python官方推荐):多个单词用下划线连接,比如 user_nametotal_score,符合Python社区PEP8规范,可读性最高
  • 避免拼音:尽量用英文命名,不要用 nianlingchengji 这种拼音,不符合国际规范,其他开发者看不懂
  • 不要过于简短:除非是循环计数器这种临时变量,否则不要用单个字母命名,可读性太差
  • 不要用中文:虽然Python3语法上支持,但强烈不推荐!会导致代码兼容性差、乱码,完全不符合行业规范

Python变量动态类型特性

图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:变量名区分大小写吗?

严格区分!NamenameNAME 是三个完全不同的变量,命名时务必注意大小写一致性,否则会出现难以排查的bug,比如定义了name,却用Name访问,直接报错。

Q3:可以用Python内置函数做变量名吗?

绝对不可以!会覆盖系统内置函数,导致后续无法正常使用。比如 print = 100 会让 print() 函数彻底失效,后续打印都会报错,这是新手最常踩的坑之一,一定要避开。

Q4:Python变量可以不初始化直接使用吗?

不可以!变量必须先定义赋值,后使用,否则会触发 NameError 异常,这是Python的基本语法规则,没有任何例外。

Q5:什么是蛇形命名法?为什么推荐?

蛇形命名法就是多个单词用下划线连接,比如 user_name,是Python官方PEP8规范推荐的写法,可读性高,符合Python社区习惯,而驼峰命名(userName)更适合Java,Python里尽量用蛇形,保持代码风格统一。

九、实战练习(必做!敲代码才是硬道理)

学Python不敲代码等于白学,下面4个练习覆盖本文所有核心知识点,建议新手独立完成,不会的再回头看文章,彻底吃透变量知识:

  1. 定义3个合法变量,分别存储你的姓名、年龄、身高,并用 print() 输出,验证赋值是否正确
  2. 修改其中一个变量的值,用 type() 查看类型,理解Python变量的动态类型特性
  3. 尝试定义一个不合法的变量名(比如数字开头、用关键字),观察报错信息,加深对命名规则的理解
  4. 用Python特有的写法交换两个变量的值,验证结果是否正确,掌握这个实用技巧

十、核心知识点总结(快速复习)

  • 变量是存储数据的标签,通过 = 完成赋值,= 是赋值不是等于,千万不要搞混
  • 变量名必须严格遵守4条规则,避开关键字和内置函数,否则直接语法报错
  • 遵循蛇形命名、见名知意的规范,让代码更专业、更易读,符合Python社区习惯
  • Python是动态类型语言,变量可随时改变存储的数据类型,变量本身无类型
  • 变量必须先定义、后使用,否则会触发 NameError 异常,这是基础规则
  • 掌握多变量赋值、变量交换等实用技巧,提升代码编写效率,减少bug

本文是Python零基础入门系列的开篇核心文章,是Python编程的基础中的基础。更多新手能看懂的Python教程,可查看往期文章:
Python基本数据类型全解析
Python输入输出与格式化技巧
想深入了解Python官方语法,可参考Python官方赋值语句文档

本文为「小白编程笔记」原创内容 · Python零基础入门系列
版权声明:本文所有内容(含代码、图片、文字)均为原创,未经授权禁止任何形式的转载、抄袭、洗稿
如需转载,请联系作者获得授权,并在正文开头显著位置标注原文链接和作者信息!

文章标签:
Python变量与变量名
Python零基础
Python变量
Python命名规则
Python入门
Python语法
Python变量命名

1人评论了“01 Python变量与变量名:零基础彻底搞懂(全解析) – 小白编程笔记”

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

发表评论

滚动至顶部
渝公网安备50022402001073号  |  渝ICP备2026004448号   © 2026 小白编程笔记