Python 中的 sizeof2024 年 8 月 29 日 | 阅读 3 分钟 当我们编写大型脚本或大量代码时,内存管理应该是我们的首要任务。因此,除了良好的编程知识外,我们还应该了解如何高效地处理内存。Python 中有许多函数可用于获取程序中特定对象的内存大小,其中一个函数就是 __sizeof__()。在本教程中,我们将了解 __sizeof__() 函数及其在 Python 程序中的工作原理。 Python __sizeof__() 函数Python 中的 __sizeof__() 函数并不精确地告诉我们对象的大小。它不返回生成器对象的大小,因为 Python 无法预先告知生成器将占用多少大小。尽管如此,实际上,它返回特定对象(以字节为单位)在内存中占用的内部大小。 为了理解这一点,让我们来看一个包含无限生成器对象的示例如下。 示例 1:来看以下 Python 程序 输出 Internal memory size of endless generator object: 120 说明 我们使用了一个默认函数,即 endlessGenerator(),来创建程序中的一个无限生成器对象。在该函数中,我们初始化了一个变量,即 counting = 0。我们对 counting 变量使用了 while 循环,而没有给循环设置断点。通过在函数中创建无限循环,我们将默认函数变成了一个无限生成器对象。最后,我们使用 __sizeof__() 函数打印了无限生成器对象的内部内存大小。 现在,我们可以清楚地理解 __sizeof__() 函数的功能。由于上述程序中的无限生成器对象没有结束或断点,Python 无法提前告知我们生成器的大小。但同时,我们可以通过 __sizeof__() 函数检查分配给生成器对象的内部内存大小,因为它在 Python 中必然占用了一些内部内存。 让我们再看一个示例,我们在其中使用 __sizeof__() 函数来获取没有任何开销的内部内存大小。 示例 2输出 Internal memory size of an empty list: 40 Memory size of first list: 48 Memory size of second list: 104 Memory size of third list: 104 Memory size of fourth list: 136 说明 使用 __sizeof__() 函数,我们可以清楚地看到,一个空列表的内部内存大小是 40 字节,并且列表中的每个元素都会为列表的总内存大小增加 8 字节。 下一主题类视图与函数视图 |
? MemoryError表示Python解释器已耗尽其为我们的Python程序分配的内存。这可能是由于Python环境设置问题,或者程序本身一次获取太多内容而导致的问题。什么是Memory Error?Python内存...
阅读 6 分钟
IPython 指的是交互式 Python。它是一个用于 Python 的交互式命令行终端。它将为 Python 计算提供一个 IPython 终端和基于 Web 的(Notebook)平台。它比标准的 Python 解释器具有更高级的功能,并且可以快速执行单行 Python 代码。Python 和...
11 分钟阅读
Python 在软件工程、设计和科学等紧迫领域是一门重要的编程语言。这种灵活、通用的语言在金融行业也带来了许多好处。然而,该语言广泛的应用可能会使其难以找到金融专业学习资源。为了帮助……
阅读 10 分钟
条形图是可视化和比较不同类别数据的一种流行方式。当处理多个数据系列共同构成一个整体时,堆叠条形图提供了一个引人注目的解决方案。PyGal 是一个用于创建交互式图表的多功能 Python 库,它允许您创建堆叠条形图...
阅读9分钟
什么是错误?在编程语言中,如果以无效的方式执行某些代码,程序的执行将停止并显示一条消息,此消息称为错误或异常。编程语言中存在某些类型的错误...
阅读 3 分钟
用户定义的数据结构在 Python 中不是内置的,但我们仍然可以实现它们。我们可以使用 Python 中现有的功能选项来创建新的数据结构。例如,当我们说 list = [] 时,Python 将其识别为列表并调用所有内容...
阅读 17 分钟
字符串是表示 Unicode 字符的字节。字符是长度为一的字符串。问题是 Python 不支持这种数据类型字符。示例:# 首先,我们将使用单引号创建一个字符串 String_1 = 'JavaTpoint is the best platform to learn Python' print("字符串...
阅读 2 分钟
scipy.stats.lognorm() 描述了对数正态连续随机变量。它是继承自通用方法的 rv_continuous 类的一个实例。它通过添加特定于此分布的详细信息来完善这些方法。给出对数正态分布的概率密度函数由下式给出:概率密度函数...
阅读 3 分钟
Python 初学者项目构想 学习任何编程语言或技术最好的方法是创建项目。目前,Python 是最受欢迎且最具挑战性的语言。我们可以通过为特定项目创建代码来测试自己。它...
7 分钟阅读
创建一个Python程序,给定一个字符串及其子字符串,找到该子字符串的第n次出现。让我们讨论几种完成任务的方法。使用正则表达式查找字符串中子字符串的第N次出现。在这里,我们使用正则表达式re.finditer来定位...
阅读 2 分钟
我们请求您订阅我们的新闻通讯以获取最新更新。
我们提供所有技术(如 Java 教程、Android、Java 框架)的教程和面试问题
G-13, 2nd Floor, Sec-3, Noida, UP, 201301, India