🐍 Python 语言基础:变量、数据类型与运算符

Evan Zhou

Tech Chronicles|Jan 18, 2025|Last edited: Oct 17, 2025|
type
status
date
slug
summary
tags
category
icon
password
comment
在正式开始 Python 编程之前,我们需要掌握一些最基本的概念,包括 变量数据类型运算符。这些构成了 Python 代码的基石,理解它们将帮助你更高效地编写 Python 代码。

🔹 1. 变量:存储数据的“容器”

什么是变量?

在 Python 中,变量(Variable) 就像一个存储数据的“盒子”,你可以把值存进去,随时取出来使用。
📌 变量的特点
  • 变量是用来存储数据的,可以随时修改
  • 变量名需要符合 Python 的命名规则
  • 变量可以存储不同类型的数据(数字、字符串、列表等)

变量的命名规则

Python 变量名需要遵循以下规则:
  1. 只能包含字母、数字和下划线(_),且不能以数字开头。✅
  1. 区分大小写myVarmyvar 是两个不同的变量)。✅
  1. 不能使用 Python 关键字(如 if, for, print 等)。✅
  1. 变量名应具备可读性,尽量使用有意义的名字。✅
🔹 示例代码

🔹 2. 数据类型:Python 里的“数据种类”

在 Python 中,每个变量都有自己的 数据类型(Data Type),数据类型决定了变量可以存储的值以及可以执行的操作。Python 是一种 动态类型语言,这意味着变量的类型是在运行时决定的,而不是在声明时指定的。例如:
Python 通过 type() 函数可以查看变量的具体数据类型:

📌 Python 的基本数据类型

Python 内置了多种常见的数据类型,主要包括:
数据类型
描述
示例
int
整数类型,存储整数
x = 10
float
浮点数类型,存储小数
y = 3.14
bool
布尔类型,存储 TrueFalse
is_valid = True
str
字符串类型,存储文本
name = "Python"
complex
复数类型,存储复数
z = 3 + 5j
这些数据类型用于存储单个值,是 Python 最基础的原子数据类型

📌 列表、元组、字典、集合和字符串:不仅仅是数据类型

在 Python 中,列表(list)、元组(tuple)、字典(dict)、集合(set)和字符串(str) 既可以被视为 数据类型,也可以被视为 数据结构,具体取决于讨论的角度。

🔹 为什么它们不仅仅是数据类型?

  • 这些对象 不仅仅存储一个值,而是可以存储多个值,甚至可以存储不同类型的值(字符串除外)。
  • 它们的行为类似于 数据结构(Data Structure),用于组织和管理数据。
  • 每种结构的特性不同:可变性、索引方式、键值存储、去重 等,影响了它们的使用场景。

🔹 在 Python 中,它们作为数据类型

Python 提供了 listtupledictsetstr 作为内置数据类型,可以通过 type() 函数查看:
从 Python 语言的角度来看,它们确实属于 数据类型,因为 Python 直接支持它们的创建和操作。

🔹 在计算机科学中,它们属于数据结构

从计算机科学的角度来看:
  • 字符串(String):本质上是 字符序列,可索引、可切片,但不可变。
  • 列表(List):是一种 动态数组,支持索引、切片、修改,可变但有序。
  • 元组(Tuple):类似于列表,但 不可变,适合存储固定数据集合。
  • 字典(Dictionary):是一种 哈希映射(键值对存储),键是唯一的,可以通过键快速访问数据。
  • 集合(Set):存储 唯一元素,类似数学集合,常用于去重和集合运算。
这些结构在 Python 之外的编程语言(如 C++、Java)中通常被视为 数据结构,而 Python 将它们作为语言的一部分,使它们既是数据类型,又具备数据结构的特性。

📌 具体示例


📌 什么时候把它们当作数据类型 vs. 数据结构?

用途
看作数据类型
看作数据结构
存储和管理单个变量的值
作为 Python 语言内置的类型(type)
需要高效的数据组织方式
进行数据操作,如索引、键值映射、去重

⏭️ 未来我们将详细展开介绍这些数据结构

字符串、列表、元组、字典和集合是 Python 最常用的五种数据结构,后续我们将分别深入探讨:
  • 📌 字符串(str):如何高效操作文本数据
  • 📌 列表(list):如何高效存储和操作有序数据
  • 📌 元组(tuple):不可变数据的应用场景
  • 📌 字典(dict):如何使用键值对存储数据
  • 📌 集合(set):去重、交并补运算的妙用

🔹 3. 运算符:Python 中的“计算工具”

Python 提供了丰富的运算符,用于执行数学计算、逻辑判断等操作。

1️⃣ 算术运算符(用于数学计算)

运算符
描述
示例
+
加法
3 + 2 = 5
-
减法
5 - 2 = 3
*
乘法
3 * 2 = 6
/
除法
10 / 2 = 5.0
//
整除
10 // 3 = 3
%
取余
10 % 3 = 1
**
幂运算
2 ** 3 = 8
🔹 示例代码

2️⃣ 赋值运算符(用于给变量赋值)

运算符
描述
示例
=
赋值
x = 5
+=
加后赋值
x += 3(等同于 x = x + 3
-=
减后赋值
x -= 2
*=
乘后赋值
x *= 4
/=
除后赋值
x /= 2
🔹 示例代码

3️⃣ 比较运算符(用于比较两个值)

运算符
描述
示例
==
等于
5 == 5(True)
!=
不等于
5 != 3(True)
>
大于
10 > 5(True)
<
小于
2 < 8(True)
>=
大于等于
5 >= 5(True)
<=
小于等于
3 <= 7(True)

4️⃣ 逻辑运算符(用于布尔逻辑计算)

运算符
描述
示例
and
逻辑与
(True and False) -> False
or
逻辑或
(True or False) -> True
not
逻辑非
not True -> False
🔹 示例代码

📌 总结

  1. 变量 是 Python 中用于存储数据的基本单位,命名需符合规则。
  1. 数据类型 决定变量可以存储的数据内容,如整数、字符串、列表等。
  1. 运算符 用于执行数学运算、比较操作和逻辑判断。
掌握这些基础概念后,你已经可以开始编写简单的 Python 程序了!🎉

📌 练习题:巩固你的 Python 基础 🚀

学习了 变量、数据类型与运算符 之后,你是不是已经跃跃欲试了?为了让你更熟练地掌握这些概念,我准备了一些有趣的 Python 练习题,帮你加深理解,同时提升你的编程思维!🎯

📌 1. 变量与数据类型

💡 题目 1:交换变量

📌 问题:Python 中如何不用 临时变量 交换两个变量的值?
挑战点:你能用 Python 一行代码 实现吗?

💡 题目 2:字符串魔法

📌 问题:请问以下代码的输出是什么?
思考:Python 变量是如何存储字符串的?y 的值会不会随 x 改变?

📌 2. 数据类型

💡 题目 3:数据类型探测器

📌 问题:你能正确预测以下代码的输出吗?
思考:你能一一匹配这些数据的 数据类型 吗?

💡 题目 4:神秘数据类型

📌 问题:请问以下代码的输出是什么?
思考:为什么 ab 的类型不一样?要创建一个 单元素元组 需要加什么?

📌 3. 运算符

💡 题目 5:神秘的取余运算

📌 问题:请问以下代码的输出是什么?
思考:Python 的取余运算 a % b 是如何计算的?为什么负数的余数有时候是正的?(取余的关键点是余数的符号总是和除数的符号一致)

💡 题目 6:Python 的“幂”力

📌 问题:请你用 Python 最简洁 的方式,计算 2 的 100 次方,并只显示结果的 前 10 位数字
挑战点:Python 的整数是否有大小限制?如何获取数字的前 10 位?

📌 4. 综合挑战

💡 题目 7:水果拼盘 🍎🍌

📌 问题:你在一个水果摊买了 3 个苹果,2 根香蕉,5 颗葡萄,苹果 3.5 元/个,香蕉 2 元/根,葡萄 0.5 元/颗。请用 Python 计算总价,并格式化输出为:
"您的水果总价为 XX.XX 元"

💡 题目 8:变量接龙游戏

📌 问题:请按照 Python 变量命名规则,修改以下变量,使其能够运行:
挑战点:你知道 Python 不能作为变量名的保留关键字 有哪些吗?

💡 题目 9:神奇的逻辑运算

📌 问题:请问以下代码的运行结果是什么?你能解释为什么吗?
思考:逻辑运算符 and, or, not 的优先级是怎样的?能否加括号让它更清晰?

💡 题目 10:Python 变量消失术 🎩

📌 问题:请问以下代码执行后,a 变量是否还存在?
思考del 语句到底删除了什么?b 是否受到影响?

⏭️ 下一节预告:📝 Python 控制流:条件判断与循环

Python 的强大不仅体现在数据处理,还体现在灵活的控制流结构。下一节,我们将深入学习:
  • if-else 语句:让代码做出决策
  • for 和 while 循环:让代码重复执行
  • 循环控制语句(break、continue、pass)
📌 敬请期待! 🚀

💬 互动讨论

📢 你最喜欢哪道练习题?最让你困惑的 Python 概念是什么?
欢迎在评论区分享你的思考,让我们一起探索 Python 的无限可能! 💡💬
 
Loading...