我不清楚在 python 中将列表作为参数传递给函数的概念。
我自己尝试研究过这个,但没有找到足够的资源。
我想实现一个辅助函数,它返回给定列表中的一些随机项。 (在 Django 查询集中)
但是,该列表可能包含多行并将其按值传递给函数可能会导致内存不足状态,如果我错了请纠正我。
我应该如何将列表传递给函数?
最佳答案
在 Python 中,有名称和值。赋值语句使名称引用一个值。赋值永远不会复制,赋值也永远不会更改值。它只会更改名称所指的值。将参数传递给函数就像赋值:现在函数中参数的局部名称引用传入的值,并且永远不会进行复制。这种名称引用值以及赋值更改值名称引用的机制对于 Python 中的所有对象都是相同的,无论它们的类型如何。
由于可变值和不可变值,这会让人感到困惑。如果将可变值(例如列表)传递给函数并更改该值,则引用该值的调用者的名称也将看到更改后的值。如果将不可变值传递给函数(例如,字符串或数字),则任何人都无法更改该值。
关于python将参数传递给函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6630521/