Python内存管理究竟是如何巧妙地实现和运作的呢?
- 内容介绍
- 相关推荐
本文共计3359个文字,预计阅读时间需要14分钟。
《篇首语:编程笔记》
篇首语:本文由编程笔记#自由互联小编为大家整理,主要介绍了python是如何进行内存管理的?相关的知识,希望对你有一定的参考价值。篇首语:本文由编程笔记#自由互联小编为大家整理,主要介绍了python是如何进行内存管理的?相关的知识,希望对你有一定的参考价值。
Python内存管理机制
Python内存管理机制主要包括以下三个方面:
- 引用计数机制
- 垃圾回收机制
- 内存池机制
引用计数
举个例子说明引用是什么:
- 1
如上为一个简单的赋值语句,1就是对象,a就是引用,引用a指向对象1。同理:
- 1
b也是对象1的引用。通过内置函数id()返回对象的地址。
- 1
- 2
当我们创建多个等于1的引用时,实际上是让所有这些引用指向同一个对象。为了检验两个引用指向同一个对象,我们可以用is关键字。is用于判断两个引用所指向的对象是否相同。
- 1
在Python中,整数和短小的字符,Python都会缓存这些对象,以便重复使用。赋值语句,只是创造了新的引用,而不是对象本身。长的字符串和其它对象可以有多个相同的对象,可以使用赋值语句创建出新的对象。每个对象都有存有指向该对象的引用总数,即引用计数(reference count)。可以使用sys.getrefcount()获得引用计数,需要注意的是,当使用某个引用作为参数,传递给getrefcount()时,参数实际上创建了一个临时的引用。
本文共计3359个文字,预计阅读时间需要14分钟。
《篇首语:编程笔记》
篇首语:本文由编程笔记#自由互联小编为大家整理,主要介绍了python是如何进行内存管理的?相关的知识,希望对你有一定的参考价值。篇首语:本文由编程笔记#自由互联小编为大家整理,主要介绍了python是如何进行内存管理的?相关的知识,希望对你有一定的参考价值。
Python内存管理机制
Python内存管理机制主要包括以下三个方面:
- 引用计数机制
- 垃圾回收机制
- 内存池机制
引用计数
举个例子说明引用是什么:
- 1
如上为一个简单的赋值语句,1就是对象,a就是引用,引用a指向对象1。同理:
- 1
b也是对象1的引用。通过内置函数id()返回对象的地址。
- 1
- 2
当我们创建多个等于1的引用时,实际上是让所有这些引用指向同一个对象。为了检验两个引用指向同一个对象,我们可以用is关键字。is用于判断两个引用所指向的对象是否相同。
- 1
在Python中,整数和短小的字符,Python都会缓存这些对象,以便重复使用。赋值语句,只是创造了新的引用,而不是对象本身。长的字符串和其它对象可以有多个相同的对象,可以使用赋值语句创建出新的对象。每个对象都有存有指向该对象的引用总数,即引用计数(reference count)。可以使用sys.getrefcount()获得引用计数,需要注意的是,当使用某个引用作为参数,传递给getrefcount()时,参数实际上创建了一个临时的引用。

