我正在编写Python函数来处理非常大的图像,并且我尽可能地减少了内存占用。我的问题是:当我将图像((一个numpy ndarray)传递给处理函数时,它是否在处理过程中复制了图像?例如在下面的代码中,当我调用def subtract_value(input, value): # this is defined in another module
input = input - value
return input
img = subtract_value(img, value) # this statement is part of a function
时,函数复制并增加内存使用量?
def subtract_value(value):
nonlocal img
img = img - value
subtract_value(value)
我理解如果我编写嵌套函数我绝对可以避免这种情况(顺便说一句,我是否正确?)但是我想让其他程序重用该函数。
{{1}}