天天看點

python 腳本函數傳遞參數

比如這段代碼:

def add(num):

 num= num+10

d=2

add(d)

print d

輸出 2

如果我要像C那樣傳遞d的位址,使之輸出12,我應該怎麼做?

Python的函數傳遞方式是指派,而指派是通過建立變量與對象的關聯實作的

執行 d = 2時,你在__main__裡建立了d,并讓它指向2這個整型對象。

執行函數add(d)過程中:

d被傳遞給add()函數後,在函數内部,num也指向了__main__中的2

但執行num = num + 10之後,建立了對象12,并讓num指向了這個新對象——12。

如果你明白函數中的局部變量與__main__中變量的差別,那麼很顯然,在__main__中,d仍在指着2這個對象,它沒有改變。是以,你列印d時得到了2。

如果你想讓輸出為12,最簡潔的辦法是:

在函數add()裡增加return num

調用函數時使用d = add(d)

代碼如下:

print d

     本文轉自yzy121403725 51CTO部落格,原文連結:http://blog.51cto.com/lookingdream/1917379,如需轉載請自行聯系原作者