[問題] 關於變數scope的問題

看板Python作者 (阿川)時間14年前 (2011/07/13 14:42), 編輯推噓1(104)
留言5則, 3人參與, 最新討論串1/1
大家好 小弟以前只學過C++ 最近學Python有些問題想問 像這樣的程式 if 1==1: a = 10 print a 結果會顯示10 但在小弟的觀念裡面 a是屬於if這個區塊的local變數 所以在外面print不出來 應該會出現error才對 但卻不是如此 請問為什麼會這樣呢?是否有什麼Python的關鍵特性小弟應該認識的? 謝謝各位大大! -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 218.166.197.179

07/13 15:28, , 1F
if 是 statment, 不是function, function才會有local var
07/13 15:28, 1F

07/13 15:29, , 2F
The following are blocks: a module, a function body,
07/13 15:29, 2F

07/13 15:30, , 3F
, and a class definition.所以if沒有block
07/13 15:30, 3F

07/13 23:43, , 4F
原來如此 原來不同語言看待block的方式有差
07/13 23:43, 4F

07/13 23:43, , 5F
謝謝兩位大大!
07/13 23:43, 5F
文章代碼(AID): #1E7JvB-I (Python)
文章代碼(AID): #1E7JvB-I (Python)