Python 中的不可变对象是什么?

Python 中的不可变对象是什么?

Python 中,不可变对象指的是创建后无法被修改的对象。这些对象在被创建后,如果想修改其中的某个部分,就需要重新创建一个新的对象。Python 中的不可变对象包括数字、字符串和元组等。

阅读更多:Python 教程

数字是不可变对象

Python 中的数字指的是整型和浮点型。整型是一种表示整数的数据类型,而浮点型则是一种表示小数的数据类型。

# 整型是不可变对象
a = 1
b = a
print(id(a), id(b))  # 输出相同的地址
a = 2
print(id(a), id(b))  # 输出不同的地址

在上面的代码中,a 和 b 最初指向同一个整型对象,它们的地址相同。但是当 a 被赋值为 2 时,a 指向了一个新的整型对象,此时 a 和 b 指向的地址就不同了。

# 浮点型是不可变对象
a = 1.0
b = a
print(id(a), id(b))  # 输出相同的地址
a = 2.0
print(id(a), id(b))  # 输出不同的地址

与整型类似,浮点型也是不可变对象。在上面的代码中,a 和 b 最初指向同一个浮点型对象,它们的地址相同。但是当 a 被赋值为 2.0 时,a 指向了一个新的浮点型对象,此时 a 和 b 指向的地址就不同了。

字符串是不可变对象

Python 中的字符串是以单引号或双引号括起来的一串字符。字符串也是一种不可变对象。

# 字符串是不可变对象
a = "hello"
b = a
print(id(a), id(b))  # 输出相同的地址
a = "world"
print(id(a), id(b))  # 输出不同的地址

在上面的代码中,a 和 b 最初指向同一个字符串对象,它们的地址相同。但是当 a 被赋值为 “world” 时,a 指向了一个新的字符串对象,此时 a 和 b 指向的地址就不同了。

元组是不可变对象

元组是一种有序的、不可变的集合类型。元组中的元素可以是不同的数据类型,但一旦创建后就无法更改。

# 元组是不可变对象
a = (1, 2, 3)
b = a
print(id(a), id(b))  # 输出相同的地址
a = (4, 5, 6)
print(id(a), id(b))  # 输出不同的地址

在上面的代码中,a 和 b 最初指向同一个元组对象,它们的地址相同。但是当 a 被赋值为 (4, 5, 6) 时,a 指向了一个新的元组对象,此时 a 和 b 指向的地址就不同了。

结论

在 Python 中,数字、字符串和元组都属于不可变对象类型。这些对象在创建后,无法被修改,如果想修改其中的某个部分,就需要重新创建一个新的对象。熟练掌握不可变对象的特点,能够有效地避免因操作不当导致的意外错误,保证代码的健壮性和可靠性。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程