2 回答

TA貢獻1906條經(jīng)驗 獲得超3個贊
Python 永遠不會隱式復制任何東西,當你將一個對象(Python 中的一切都是一個對象)傳遞給一個函數(shù)時,你在函數(shù)中擁有的是你傳入的對象,所以如果你改變它,變化將在函數(shù)之外看到。
OTHO,參數(shù)名稱是函數(shù)的局部名稱,因此在函數(shù)內(nèi)重新綁定參數(shù)只會更改該名稱在函數(shù)內(nèi)指向的對象,它對傳遞的對象沒有影響。

TA貢獻1799條經(jīng)驗 獲得超9個贊
基本上,全局變量是一個可以在任何地方訪問的變量,無論它是否在函數(shù)(或其他任何東西)中。
局部變量是僅存在于相關函數(shù)中的變量。您不能在其他任何地方聲明或訪問它。但是,您可以通過將其顯式包含在函數(shù)中來使其成為全局變量。
就我所見,'d' 并未真正定義為變量,而是定義為函數(shù)參數(shù),如called(d)
. 這可能已經(jīng)改變called(blabla)
,你的功能會表現(xiàn)得完全相同的方式,如果你的函數(shù)中,也發(fā)生了變化d[0]
,以blabla[0]
。
這意味著當您調(diào)用該函數(shù)時,其中包含 'd' 的任何內(nèi)容都將被您調(diào)用的內(nèi)容替換。在這種情況下,參數(shù)已更改為變量 a,然后按照您的說明執(zhí)行函數(shù)。
為了定義一個變量,你必須使用'='。
添加回答
舉報