当变量传递给函数时,python是否会复制变量?

时间:2015-09-10 05:25:30

标签: python function variables memory scope

我正在编写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}}

0 个答案:

没有答案