Python 数据类型
在编程中,数据类型是一个重要的概念。变量可以存储不同类型的数据,不同类型可以执行不同的操作。Python 有多种内置的数据类型,主要可以分为以下几类:
核心数据类型
| 类别 | 类型名称 | 示例 | 描述 |
|---|---|---|---|
| 文本类型 | str | "Hello", 'Python' | 用于存储文本,由一系列字符组成。 |
| 数字类型 | int | 10, -50 | 整数。 |
float | 3.14, -0.01 | 浮点数(即小数)。 | |
complex | 1+2j | 复数。 | |
| 序列类型 | list | [1, "apple", 3.0] | 列表,有序且可修改的集合。 |
tuple | (1, "apple", 3.0) | 元组,有序但不可修改的集合。 | |
range | range(6) | 表示一个不可变的数字序列。 | |
| 映射类型 | dict | {"name": "John", "age": 30} | 字典,无序的键值对集合。 |
| 集合类型 | set | {"apple", "banana"} | 集合,无序、不重复的元素集合。 |
frozenset | frozenset({"a", "b"}) | 不可变的集合。 | |
| 布尔类型 | bool | True, False | 表示真或假。 |
| 二进制类型 | bytes, bytearray, memoryview | b"Hello" | 用于处理二进制数据。 |
| None 类型 | NoneType | None | 表示一个空值或不存在的值。 |
获取变量类型
你可以使用内置的 type() 函数来查看任何变量的数据类型。
python
x = 5
y = "Hello, World!"
z = [1, 2, 3]
print(type(x)) # 输出: <class 'int'>
print(type(y)) # 输出: <class 'str'>
print(type(z)) # 输出: <class 'list'>Python 是动态类型的
Python 是一种动态类型语言。这意味着你不需要在声明变量时指定其类型,解释器会在运行时自动推断。这也意味着你可以改变变量所持有的数据类型。
python
my_var = 100 # 此时 my_var 是 int 类型
print(type(my_var))
my_var = "Now I'm a string" # 现在 my_var 变成了 str 类型
print(type(my_var))可变与不可变类型
数据类型可以根据其值是否可以被修改,分为可变类型和不可变类型。
不可变类型 (Immutable):一旦创建,其值就不能被改变。如果对变量进行修改,实际上是创建了一个新的对象。
- 包括:
int,float,complex,str,tuple,frozenset,bool,bytes
pythona = "hello" # a[0] = 'H' # 这会引发 TypeError 错误,因为字符串是不可变的 a = "world" # 这不是修改,而是让 a 指向一个新的字符串对象- 包括:
可变类型 (Mutable):创建后,其值可以被修改,而不需要创建新的对象。
- 包括:
list,dict,set,bytearray
pythonmy_list = [1, 2, 3] my_list[0] = 99 # 直接在原列表上修改 print(my_list) # 输出: [99, 2, 3]- 包括:
理解可变与不可变类型的区别对于编写高效且无误的 Python 代码至关重要。