我不清楚在Python中将列表作为函数参数传递的概念。
我自己尝试过研究,但没有找到足够的资源。
我想实现一个辅助函数,它可以从给定的列表(在Django查询集中)中返回随机项的数量。
然而,该列表可能包含多行,并且通过值将其传递给函数可能会导致内存不足状态,请纠正我如果我错了。
那么我应该如何将列表传递给函数呢?
我不清楚在Python中将列表作为函数参数传递的概念。
我自己尝试过研究,但没有找到足够的资源。
我想实现一个辅助函数,它可以从给定的列表(在Django查询集中)中返回随机项的数量。
然而,该列表可能包含多行,并且通过值将其传递给函数可能会导致内存不足状态,请纠正我如果我错了。
那么我应该如何将列表传递给函数呢?
Python中的一切都是标识符。对于列表,您可以将其评估策略视为“按引用调用”。它实际上被命名为“共享调用”。
def f(x): x = None
有任何影响,那么它就是按引用传递。在Python中,它没有任何影响。 - user395760=
操作符视为 "(重新)绑定名称" 而非 "设置变量",那么它可以被适当地称为 "按引用调用"。这更贴近事实。重新绑定参数不应该改变另一个名称的值,即使按引用调用也是如此。 - Jasmijn不会的。将列表传递给函数在内存方面没有任何影响。Python 不会 复制该列表。
关于Ned Batchelder所说的内容的详细解释:
http://docs.python.org/tutorial/classes.html#python-scopes-and-namespaces