Python getsizeof()和getsize()区分详解

Python 的 getsizeof()sys.getsizeof() 是两个获取对象占用内存大小的方法,本文将对它们进行区分详解。

getsizeof()

getsizeof()Python 自带的一种计算对象内存大小的方法。这个方法是在 sys 中实现的,可以通过 import sys 调用。需要注意的是,这个方法不会引用对象,而是返回对象大小的估计。

它的使用方法很简单:调用 getsizeof() 函数并将要计算的对象作为参数传入即可,示例代码如下:

import sys

lst = [1, 2, 3, 4, 5]
print(sys.getsizeof(lst))

以上代码中,我们首先通过 import 引入 sys 模块。然后定义一个 lst 变量并赋值为一个列表。最后调用 getsizeof() 方法并将 lst 作为参数传入。这样,我们就能得到 lst 占用的内存大小。关于这个方法的返回值,需要注意的是它返回的是估计值,不是特别精确。

sys.getsizeof()

sys.getsizeof()sys 模块中提供的获取对象大小的方法,可以调用此函数来获取一个对象在内存中所占用的字节数。

getsizeof() 不同,sys.getsizeof() 获得的是对象占用的实际大小,因此更加精确。与 getsizeof() 类似,需要先导入 sys 模块,然后使用 sys.getsizeof() 来获取对象的大小。

下面是一个示例:

import sys

x = 1
y = "hello world"
z = [1, 2, 3, 4, 5]

print("The size of x is", sys.getsizeof(x))
print("The size of y is", sys.getsizeof(y))
print("The size of z is", sys.getsizeof(z))

在以上示例中,我们创建了三个变量 xyz,并使用 sys.getsizeof() 方法获取它们在内存中所占用的字节数。这个例子展示了对不同类型的数据的计算对象大小的方法,并输出了它们在内存中所占用的字节数。

总之,getsizeof()sys 模块中提供的一个计算对象占用内存空间大小的方法。而 sys.getsizeof()sys 模块中提供的获取对象实际大小的方法。

以上是本文的完整攻略。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Python getsizeof()和getsize()区分详解 - Python技术站

(0)
上一篇 2023年5月13日
下一篇 2023年5月13日

相关文章

  • python文件写入实例分析

    下面是关于 Python 文件写入实例分析的攻略: 概述 在 Python 中,我们可以使用内置的 open() 函数创建文件对象来进行文件写入操作。文件写入功能可以通过 write() 方法实现。在实现文件写入功能之前,我们需要了解如何打开和关闭文件对象。 打开和关闭文件对象 使用 open() 函数可以创建一个文件对象,该函数可以接受两个参数:文件路径和…

    python 2023年6月5日
    00
  • 33个Python爬虫项目实战(推荐)

    “33个Python爬虫项目实战”是一份非常实用的Python爬虫项目合集,包含了33个不同的爬虫项目,涵盖了各种类型的网站和数据。本文将详细讲解“33个Python爬虫项目实战”的完整攻略,包括使用BeautifulSoup库和Scrapy框架两个示例。 使用BeautifulSoup库爬取网页数据的示例 以下是一个示例,演示如何使用BeautifulSo…

    python 2023年5月15日
    00
  • Python使用邻接矩阵实现图及Dijkstra算法问题

    Python使用邻接矩阵实现图及Dijkstra算法问题 介绍 图是一种常用的数据结构,它由节点和边组成。在实际应用中,我们经常需要对图进行遍历、搜索和最短等操作。本文将介绍如何使用Python使用邻接矩阵实现图,并使用Dijkstra算法求解最短路径问题。 邻接矩阵 邻接矩阵是一种表示图的常用方法,它使用一个二维数组来表示节点之间的连接关系。在邻接矩阵中,…

    python 2023年5月14日
    00
  • Python socket如何解析HTTP请求内容

    Python中的socket库可以用于创建网络应用程序,包括HTTP服务器和客户端。在HTTP服务器中,我们需要解析HTTP请求内容,以便正确地处理请求并生成响应。以下是Python socket如何解析HTTP请求内容的完整攻略,包含两个示例。 示例1:解析GET请求 以下是一个示例,可以使用Python socket解析GET请求: import soc…

    python 2023年5月15日
    00
  • 使用python自动办公的实例代码

    下面是使用Python自动办公的实例代码的完整攻略。 什么是Python自动办公 Python自动办公,是指使用Python编程语言,对办公软件的操作进行自动化脚本编写,以减少人力和提高工作效率。常见的办公软件包括Microsoft Office等。 Python自动办公的优点 使用Python自动办公,有以下几个优点: 提高工作效率,减少人力成本。 减少手…

    python 2023年5月19日
    00
  • Python chardet库识别编码原理解析

    Python chardet库识别编码原理解析 什么是编码? 编码是一种将电脑可以识别的0和1的数字,转变为能够人类可以阅读的文本、图片、音频或视频的过程。对于每种类型的资料,都有对应的编码方式。 例如:计算机中存储的文本是以0和1的电信号存储的,而能够人类理解的文字是以字母或汉字的形式存储的,书写密码也可以理解为编码,将人类可以理解的密码转化为计算机可识别…

    python 2023年5月31日
    00
  • Python中turtle.write方法使用说明

    Python中turtle.write方法使用说明 介绍 turtle.write()方法用于绘制文本,它可以在画布上放置指定的文本字符串,并根据需要对齐文本。下面我们将详细讲解它的使用方法。 语法 turtle.write(arg, move=False, align=”left”, font=(“Arial”, 8, “normal”)) 参数列表 ar…

    python 2023年6月6日
    00
  • 简单了解Java Netty Reactor三种线程模型

    下面是关于”简单了解Java Netty Reactor三种线程模型”的攻略: 1. Java Netty Reactor三种线程模型 1.1 传统IO模型 传统的IO模型采用”one connection, one thread”的架构,也就是说每个连接都需要一个独立的线程来处理它的读写事件。 这种方式的缺点在于系统线程的创建和销毁会带来很大的开销,而这种…

    python 2023年6月6日
    00
合作推广
合作推广
分享本页
返回顶部