簡體   English   中英

python 將參數傳遞給 function

[英]python passing parameter to a function

我不清楚將列表作為 arguments 傳遞給 python 中的函數的概念。

我自己試過研究這個,沒有找到足夠的資源。

我想實現一個助手 function 從給定列表中返回許多隨機項目。 (在 django 查詢集中)

但是,該列表可能包含多行並將其按值傳遞給 function 可能會導致 memory state 超出,如果我錯了,請糾正我。

那么我應該如何將列表傳遞給 function?

在 Python 中有名稱和值。 賦值語句使名稱引用一個值。 賦值永遠不會復制,賦值永遠不會改變值。 它只會更改名稱所指的值。 將參數傳遞給 function 就像一個賦值:現在 function 中參數的本地名稱指的是傳入的值,並且永遠不會復制。 對於 Python 中的所有對象,無論其類型如何,這種名稱引用值的機制以及更改值名稱所引用的賦值都是相同的。

由於可變和不可變的值,這變得令人困惑。 如果您將可變值(例如,列表)傳遞給 function,並更改該值,則引用該值的調用者名稱也將看到更改后的值。 如果您將不可變值傳遞給 function(例如,字符串或數字),則任何人都無法更改該值。

Python 中的所有內容都是標識符。 對於列表,您可以將評估策略視為“引用調用”。 它實際上被命名為“共享調用”

不會。將列表傳遞給 function 對 memory 沒有任何影響。 Python復制列表。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM