image

 

 

 

 

 

 

 

 

 

 

 

如果寫過兩個程式以上的,會問說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)程式示範

image

輸入:

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.

 

 

 

 

 

 

 

 

 

 

 

 

 

arrow
arrow
    文章標籤
    python 戰昇老師
    全站熱搜

    戰昇 發表在 痞客邦 留言(0) 人氣()