Skip to content

Python 数据类型

在编程中,数据类型是一个重要的概念。变量可以存储不同类型的数据,不同类型可以执行不同的操作。Python 有多种内置的数据类型,主要可以分为以下几类:

核心数据类型

类别类型名称示例描述
文本类型str"Hello", 'Python'用于存储文本,由一系列字符组成。
数字类型int10, -50整数。
float3.14, -0.01浮点数(即小数)。
complex1+2j复数。
序列类型list[1, "apple", 3.0]列表,有序且可修改的集合。
tuple(1, "apple", 3.0)元组,有序但不可修改的集合。
rangerange(6)表示一个不可变的数字序列。
映射类型dict{"name": "John", "age": 30}字典,无序的键值对集合。
集合类型set{"apple", "banana"}集合,无序、不重复的元素集合。
frozensetfrozenset({"a", "b"})不可变的集合。
布尔类型boolTrue, False表示真或假。
二进制类型bytes, bytearray, memoryviewb"Hello"用于处理二进制数据。
None 类型NoneTypeNone表示一个空值或不存在的值。

获取变量类型

你可以使用内置的 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
    python
    a = "hello"
    # a[0] = 'H'  # 这会引发 TypeError 错误,因为字符串是不可变的
    a = "world"   # 这不是修改,而是让 a 指向一个新的字符串对象
  • 可变类型 (Mutable):创建后,其值可以被修改,而不需要创建新的对象。

    • 包括:list, dict, set, bytearray
    python
    my_list = [1, 2, 3]
    my_list[0] = 99  # 直接在原列表上修改
    print(my_list)   # 输出: [99, 2, 3]

理解可变与不可变类型的区别对于编写高效且无误的 Python 代码至关重要。

本站内容仅供学习和研究使用。