在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問答/Python/ var =1314 為什么不會改變傳來的形參`var`的值?

var =1314 為什么不會改變傳來的形參`var`的值?

var = 1314 為什么不會改變傳來的形參 var 的值?

def fun(var):  
    var = 1314  
    print(var, end='')
  
var = 520  
fun(var)  
print(var) 

輸出結果為:

1314 
520
回答
編輯回答
陪我終

圖片描述

這涉及到作用域的問題。自己體會一下吧。

2017年9月30日 16:08
編輯回答
只愛你

Python 不是 call by value 也不是 call by reference!
Python 是完完全全的 call by sharing!

剛好我在另外一個問題有詳細討論傳參, 有興趣的人可以試著閱讀和思考看看:

https://segmentfault.com/q/10...


我回答過的問題: Python-QA

2017年8月21日 12:03
編輯回答
氕氘氚

值傳遞不會改變,引用傳遞會改變
https://www.cnblogs.com/gavan...

2017年8月5日 19:18
編輯回答
舊酒館

值傳遞就相當于將傳遞的參數(shù)拷貝了一份,而引用類型則是將指針拷貝了一份。理解一般類型和引用類型區(qū)別后,理解這個一般沒問題。

2017年7月21日 07:53
編輯回答
網妓

函數(shù)的傳參有兩種傳遞方式,按值傳遞和按引用傳遞。對于基礎數(shù)據類型(字符串、數(shù)字、布爾值等),會使用按值傳遞的方式,也就是把值直接復制一遍傳遞進去,在內部修改參數(shù)的值,對外部沒有影響;而對于復雜數(shù)據類型(對象,數(shù)組等),會使用按引用傳遞的方式,也就是只把對象(以對象為例)的引用傳遞進去,在函數(shù)內部修改對象的屬性,則外部對象的屬性也會隨著改變。

2017年6月29日 11:49
編輯回答
笨尐豬

因為數(shù)值是不可變對象。你改變了綁定關系,或者引用。你沒改變對象本身。

2018年3月28日 10:57
編輯回答
葬愛

對于 fun(var):傳入實參 520,但是局部變量和fun的形參重名,fun內的var重新指向局部變量1314,運行完,打印1314,內存釋放。
而下面的print(var),這個var為global.var,一直指向的就是520

2017年5月28日 18:32