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 引用傳遞 也稱位址傳遞,在方法呼叫時,實際上是把引...