第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

python函數(shù)中的全局和局部

python函數(shù)中的全局和局部

慕碼人8056858 2021-06-03 21:09:47
我無法理解 python 中的全局和局部變量,尤其是函數(shù)。我看了很多例子,但都沒有在函數(shù)調(diào)用中清楚地解釋。我的示例代碼如下:def called(d):    del d[0]    b=[1]    return bdef main():    a=[0,1,2,3]    print("first ", a)    c=called(a)    print("second ", a)main()輸出:first  [0, 1, 2, 3]second  [1, 2, 3]我希望“a”是主要的局部變量。當我調(diào)用“被調(diào)用”函數(shù)時,a 被復制到 d。并且 d 在“被調(diào)用”處是本地的。但現(xiàn)實是不同的。我用“稱為(a.copy)”解決了這個問題。但我想了解其中的邏輯。
查看完整描述

2 回答

?
一只名叫tom的貓

TA貢獻1906條經(jīng)驗 獲得超3個贊

Python 永遠不會隱式復制任何東西,當你將一個對象(Python 中的一切都是一個對象)傳遞給一個函數(shù)時,你在函數(shù)中擁有的是你傳入的對象,所以如果你改變它,變化將在函數(shù)之外看到。

OTHO,參數(shù)名稱是函數(shù)的局部名稱,因此在函數(shù)內(nèi)重新綁定參數(shù)只會更改該名稱在函數(shù)內(nèi)指向的對象,它對傳遞的對象沒有影響。


查看完整回答
反對 回復 2021-06-06
?
揚帆大魚

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ù)。

為了定義一個變量,你必須使用'='。


查看完整回答
反對 回復 2021-06-06
  • 2 回答
  • 0 關注
  • 179 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網(wǎng)微信公眾號