天天看點

參數按值傳遞和引用傳遞是怎麼實作的?

Python中的一切都是類,所有的變量都是一個對象的引用。引用的值是由函數确定的,是以無法改變。但是如果一個對象是可以被修改的,你可以改動對象。

傳值:

簡單來說,你在記憶體中有一個位址,我也有一個位址,我把我的位址裡面的内容複制給你,以後你做什麼就跟我沒關系,不會改變原來的參數的内容。

傳引用:

所謂傳引用是有一個參數在記憶體有個位址,位址裡面放了一堆東西,在調用函數時,把實際參數的位址傳遞到函數中,那麼在函數中對參數所進行的修改,将影響到實際參數。也就是說最後函數運作完之後會改變原來參數的内容。