如果寫過兩個程式以上的,會問說python是pass by vale 還是pass by reference?
一、兩者區別
(1)pass by value(傳值)
pass by value就是將值,複製後傳遞,不會改變參數。
(2)pass by reference(傳參數)
pass by reference傳的是參數。
二、python屬於什麼
python不是單純的pass by value或是pass by reference。可以看我一步一步的講解
(一)要先知道python是動態連結(dynamic binding)
(1)程式示範
輸入:
x=5
x=6
print(x)
結果:
6
你會發現,我x有等於5也有等於6,最後輸出的是=6,會把前面輸入的蓋過去。因為5跟6是不同物件,但卻用同一個x,之後x只會選比較後面的。
(二)其實python是pass by object reference
從剛剛的示範,會發現python是以object為主。
所以是pass by object reference.
文章標籤
全站熱搜