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

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

在if語句中初始化變量的范圍是什么?

在if語句中初始化變量的范圍是什么?

慕運(yùn)維8079593 2019-08-26 11:08:15
在if語句中初始化變量的范圍是什么?我是Python的新手,所以這可能是一個簡單的范圍問題。Python文件(模塊)中的以下代碼讓我感到困惑:if __name__ == '__main__':     x = 1print x在我工作過的其他語言中,這段代碼會引發(fā)異常,因為x變量是if語句的本地變量,不應(yīng)該存在于它之外。但是這段代碼執(zhí)行并打印1.任何人都可以解釋這種行為嗎?模塊中創(chuàng)建的所有變量是全局/可用于整個模塊嗎?
查看完整描述

3 回答

?
RISEBY

TA貢獻(xiàn)1856條經(jīng)驗 獲得超5個贊

是的,它們處于相同的“本地范圍”,實際上這樣的代碼在Python中很常見:

if condition:
  x = 'something'else:
  x = 'something else'use(x)

請注意,x在條件之前未聲明或初始化,例如,在C或Java中。

換句話說,Python沒有塊級范圍。但是要小心,例如

if False:
    x = 3print(x)

這顯然會引發(fā)NameError例外。


查看完整回答
反對 回復(fù) 2019-08-26
?
慕虎7371278

TA貢獻(xiàn)1802條經(jīng)驗 獲得超4個贊

與諸如C之類的語言不同,Python變量在其出現(xiàn)的整個函數(shù)(或類或模塊)的范圍內(nèi),而不僅僅在最里面的“塊”中。就好像你int x在函數(shù)(或類或模塊)的頂部聲明,除了在Python中你不必聲明變量。

請注意,x僅在運(yùn)行時檢查變量的存在- 也就是說,當(dāng)您到達(dá)print x語句時。如果__name__不相等"__main__"那么你會得到一個例外:NameError: name 'x' is not defined


查看完整回答
反對 回復(fù) 2019-08-26
  • 3 回答
  • 0 關(guān)注
  • 658 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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