我现在正在编写的程序制作了一个非常庞大的数据项列表。
现在,我可以使这个列表成为全局的(使其他模块中的其他功能可用)并且可以在所有其他模块中使用。或者,我也可以将它们作为模块中函数的函数参数传递。
请注意,我正在谈论的这个巨大的数组不会在其他模块的函数中被修改,它们只是读取数据并将其用于计算和数据统计等。
那么,两种内存消耗最少的方法呢?
如果通过传递给函数,如果语言在本地复制巨大的列表,即使函数没有修改它..那将是内存消耗的两倍,这不是一件好事。如果发生这种情况,我可以将其设为全局并使用它。我对 python 的内存管理产生了这个疑问,因为当我曾经写过一种玩具语言时,我包含了这个特定的问题.. 即参数数据只有在它被编辑时才会被复制.. 否则,它总是指向原始数据。