Python中的值傳遞問題

2021-09-01 04:01:34 字數 526 閱讀 1214

python的官方**上有一句話,「python把程式中用到的任何東西都成為物件 」

例如:你定義了乙個a=1 那麼就是把1這個number物件賦值給了a物件,而此時的a物件是1物件的引用也是number物件了。

這裡我們可以看出來,python只是把物件的引用傳遞給了物件a,而不是賦值操作,

例如:mylist=[1,2,3]

youlist=mylist

youlist[0]=5

mylist = [1,2,3]

anotherlist = mylist

print mylist,anotherlist

mylist = [1,2,3]

anotherlist = mylist

print mylist,anotherlist

那麼mylist等於多少?

結果是mylist=[5,2,3]

因為這個例子中mylist是指向物件[1,2,3]的物件的引用,所以更改他也相當於更改youlist,並不是真正的賦值,只是引用。切忌。

值傳遞和引用傳遞的問題

先看看下面這段 的輸出結果 public class example public static void main string args public void change string str,char ch 結果是 tarena and gbc 解釋 1.為什麼string字串的值是不可變...

python的引用傳遞和值傳遞

函式的引用傳遞 對於函式輸入的引數物件,函式在執行過程中對物件本身進行操作 在執行結束後引數物件有可能發生改變函式的值傳遞 對於函式輸入的引數物件,函式執行中首先生成物件的乙個副本,並在執行過程中對副本進行操作。執行結束後物件不發生改變。python中不可選擇函式是引用傳遞 pass by refe...

Python引數傳遞 引用傳遞 值傳遞

值傳遞 方法呼叫時,實際引數把它的值傳遞給對應的形式引數,方法執行中形式引數值的改變不影響實際引數的值。a1 520 a2 a1 print a1 520 print a2 520 a2 a1 1 print a2 521 print a1 520 引用傳遞 也稱位址傳遞,在方法呼叫時,實際上是把引...