2024-04-26 20:55:13 发布
网友
我不清楚在python中将列表作为参数传递给函数的概念。在
我自己也试过研究,但没有找到足够的资源。在
我想实现一个helper函数,它从给定的列表中返回一些随机项。(在django queryset)
但是,列表可能包含多行,并且通过值将其传递给函数可能会导致内存不足状态,如果我错了,请更正我。在
那么我应该如何将列表传递给函数呢?在
Python中的所有内容都是一个标识符。对于列表,您可以将评估策略视为“按引用调用”。它实际上被命名为"call by sharing"。在
在Python中,有名称和值。赋值语句使名称引用值。赋值从不复制,赋值也从不更改值。它只改变名称所引用的值。将参数传递给函数类似于赋值:现在函数中参数的本地名称引用传入的值,并且从不复制。对于Python中的所有对象,无论其类型如何,这种引用值的名称和赋值更改引用的值的机制都是相同的。在
由于可变值和不可变值,这会令人困惑。如果将可变值(例如,列表)传递到函数中并更改该值,则引用该值的调用方名称也将看到更改后的值。如果将一个不可变的值传递给函数(例如,字符串或数字),则任何人都不能更改该值。在
不,将列表传递给函数对内存没有任何影响。Python不会复制列表。在
Python中的所有内容都是一个标识符。对于列表,您可以将评估策略视为“按引用调用”。它实际上被命名为"call by sharing"。在
在Python中,有名称和值。赋值语句使名称引用值。赋值从不复制,赋值也从不更改值。它只改变名称所引用的值。将参数传递给函数类似于赋值:现在函数中参数的本地名称引用传入的值,并且从不复制。对于Python中的所有对象,无论其类型如何,这种引用值的名称和赋值更改引用的值的机制都是相同的。在
由于可变值和不可变值,这会令人困惑。如果将可变值(例如,列表)传递到函数中并更改该值,则引用该值的调用方名称也将看到更改后的值。如果将一个不可变的值传递给函数(例如,字符串或数字),则任何人都不能更改该值。在
不,将列表传递给函数对内存没有任何影响。Python不会复制列表。在
相关问题 更多 >
编程相关推荐