当前位置:首页>python>Python开发从零开始-20.8-基础语法(面向对象)

Python开发从零开始-20.8-基础语法(面向对象)

  • 2026-10-11 06:08:49
Python开发从零开始-20.8-基础语法(面向对象)

接上文Python开发从零开始-20.7-基础语法(面向对象),本文将继续介绍 Python 面向对象编程的相关知识。

(八)对象的引用和复制

在 Python中,面向对象编程涉及到对象的引用和复制,理解这两者的区别对于编写高效和正确的代码至关重要,特别是在面向对象编程的上下文中。

1、引用(Reference)

在 Python 中引用是变量指向内存中对象的机制,变量只是对象的标签。当你将一个对象赋值给另一个变量时,实际上是创建了一个指向该对象的引用,而不是对象的副本。这意味着两个变量都指向内存中的同一个对象(内存地址一致)。

id() 内置函数用于获取对象唯一标识符的内置函数。在 Python 中,每个对象都有一个唯一的整数标识符,这个标识符在对象的生命周期内是唯一的且恒定的。id() 返回这个标识符,通常对应对象的内存地址。其语法格式为:

id(object)

  • 参数 object,任意类型对象;

  • 返回值,返回一个整数,表示对象的唯一标识符(内存地址)。

2、复制(Copy)

复制一个对象意味着创建一个新的对象,其内容和原始对象相同,但是它们在内存中占据不同的位置。在 Python 中,可以对象的复制包括:浅复制、深复制。

(1)浅复制(Shallow Copy)

可以使用 copy 模块的 copy() 函数创建一个对象的浅复制。如果原对象包含对其他对象的引用(例如列表、字典等),新对象将包含对这些引用对象的引用,而不是它们的副本。简单点说,浅复制意味着对象本身会被复制,但是对象中包含的子对象仍然是引用。

(2)深复制(Deep Copy)‌

可以使用 copy 模块的 deepcopy() 方法创建一个对象的深复制。深复制意味着对象及其所有子对象都会被复制,形成一个完全独立的副本。

【小编提示】

模块是一个 .py 文件‌,可以包含函数、类、变量以及可执行的代码,导入模块后可重复使用这些代码。有关模块的知识,后续进行主题介绍,此处主要用于演示,大家了解即可。

(九)组合

组合是一种将对象作为其他对象的属性来使用的方法,用于实现代码的重用和模块化,组合可以创建更灵活、功能更丰富的对象。组合与继承的差异之处在于:

  • 继承:父类和子类是 “is” 关系,表示子类 “是” 父类。例如:人是动物、黑猫是猫等;

  • 组合:类和组合类是 “has-a” 关系,表示组合类中 “有” 这么一个类。例如:自行车有轮胎、汽车有发动机等。

Python 面向对象编程是其语法核心,需要大家深刻学习和领悟,如果有疑问欢迎留言区讨论。

最新文章

随机文章