Python数据结构全解析
1. 引言
在Python编程中,数据结构是非常重要的一部分。我们已经在很多示例中看到了Python内置数据结构的实际应用。本文将深入探讨这些数据结构的面向对象特性,以及何时应该使用它们,何时不应该使用。我们将重点介绍空对象、元组、命名元组和字典等数据结构。
2. 空对象
Python中最基本的内置对象是 object
,我们在创建的每个类中都对其进行了扩展。从技术上讲,我们可以不编写子类来实例化一个 object
对象:
o = object()
o.x = 5
运行上述代码会报错:
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
AttributeError: 'object' object has no attribute 'x'
这并不是Python开发者故意限制我们,而是为了节省内存。当Python允许对象拥有任意属性时,系统需要分配一定的内存来跟踪每个对象的属性,即使没有存储任何属性,也会为潜在的新属性分配内存。在一个典型的Python程序中,可能会有数十、数百甚至数千个对象,这些小的内存开销会迅速累积成大量的内存占用。
不过,我们可以很容易地创建自己的空对象类: