{site_name}

{site_name}

🌜 搜索

在Python中,所有的数据类型都是对象

Python 𝄐 0
python 感知型对象和简单型对象的区别,python 感知型对象和简单型对象的关系,python感知机
在Python中,所有的数据类型都是对象。根据其内存模型和行为特征的不同,Python对象可以分为两种基本类型:感知型对象(mutable)和简单型对象(immutable)。

1. 感知型对象
感知型对象是指其值可变、状态可改变的Python对象。这意味着对该对象的修改不会创建新的对象,而是直接在原对象上进行更改。

常见的Python感知型对象包括列表(list)、字典(dict)和集合(set)等。例如:


# 定义一个列表
my_list = [1, 2, 3]

# 修改列表元素的值
my_list[0] = 0

# 添加新元素到列表
my_list.append(4)

# 删除列表元素
del my_list[1]


在这个例子中,我们可以看到对列表进行了修改、添加、删除操作,但是my_list始终是同一个对象,因为这些操作是在原有对象上进行的。

2. 简单型对象
简单型对象是指其值不可变、状态不可改变的Python对象。这意味着对该对象的修改会创建新的对象,而原对象保持不变。

常见的Python简单型对象包括数字(int、float)、字符串(str)和元组(tuple)等。例如:


# 定义一个元组
my_tuple = (1, 2, 3)

# 尝试修改元组元素的值(会报错)
my_tuple[0] = 0

# 创建新元组
my_new_tuple = (0, 2, 3)


在这个例子中,我们可以看到尝试修改元组的值会导致TypeError异常,因为元组是不可变对象。而创建新元组时,则是创建了一个新的对象,原有的my_tuple保持不变。