首页 / Python3 入门教程 / 变量与数据类型

Python3 入门教程

变量与数据类型

本教程共 70 篇 · 第 7 篇 · 更新于 2026-07-22 · 约 4 分钟阅读

PythonPython3 入门教程Python 变量动态类型数据类型元组解包

7. 变量与数据类型

本节目标:理解变量的本质,掌握 Python 的基本数据类型,学会用 type() 查看类型。

变量是什么

变量可以理解为贴在数据上的「标签」。

a = 123

这行代码做了两件事:在内存中创建整数 123,然后把变量 a 指向它。a 不是盒子,而是贴在 123 这个对象上的标签。

再给 a 赋值:

a = 123
a = 'ABC'

第二行不是修改原来的 123,而是在内存中创建新字符串 'ABC',然后把 a 的指向改掉。原来的 123 如果没有其他变量引用,会被垃圾回收机制清理掉。

动态类型

Python 是动态类型语言。变量不绑定类型,值才有类型。同一个变量可以先后指向不同类型的数据:

x = 10          # x 是整数
x = 3.14        # x 变成浮点数
x = "hello"     # x 变成字符串

这和 Java、C++ 等静态语言不同。静态语言定义变量时必须声明类型,之后不能改变。

Tip

动态类型灵活,但也容易踩坑。大型项目里建议加类型注解(后面章节会讲),让代码更易维护。

基本数据类型

Python 有 6 种标准数据类型:

类型名称示例是否可变
int整数42, -100不可变
float浮点数3.14, -0.5不可变
bool布尔值True, False不可变
str字符串"hello"不可变
list列表[1, 2, 3]可变
tuple元组(1, 2, 3)不可变
dict字典{"a": 1}可变
set集合{1, 2, 3}可变
Note

「可变」指创建后能否修改内容。列表可以增删元素,字符串不能修改单个字符。后面章节会逐一深入讲解。

查看类型

type() 函数查看变量的类型:

>>> x = 10
>>> type(x)
<class 'int'>

>>> name = "Alice"
>>> type(name)
<class 'str'>

>>> items = [1, 2, 3]
>>> type(items)
<class 'list'>

isinstance() 可以判断变量是否属于某种类型:

>>> x = 10
>>> isinstance(x, int)
True
>>> isinstance(x, str)
False

isinstance()type() 更灵活,因为它支持继承关系。自定义的子类也能被正确识别。

多变量赋值

Python 支持在一行里给多个变量赋值:

# 多个变量赋同一个值
a = b = c = 1

# 多个变量赋不同值
a, b, c = 1, 2, "hello"

第二种写法本质是「元组打包解包」。右边 1, 2, "hello" 是个元组,左边 a, b, c 把它拆开。

利用这个特性,不用临时变量就能交换两个值:

a, b = 10, 20
a, b = b, a   # a 变成 20,b 变成 10
Tip

这是我当年学 Python 时觉得最酷的特性之一。其他语言交换变量需要三行加一个临时变量,Python 一行搞定。

删除变量

del 语句删除变量引用:

x = 100
del x
print(x)   # NameError: name 'x' is not defined

del 只是删掉标签,如果数据还有其他标签指向,数据本身不会被销毁。


来源:参考了 runoob「Python3 基本数据类型」、liaoxuefeng「数据类型和变量」、w3cschool「Python3 基本数据类型」等,改写后所得。