作者poopoo888888 (阿川)
看板Python
標題[問題] 關於變數scope的問題
時間Wed Jul 13 14:42:17 2011
大家好
小弟以前只學過C++
最近學Python有些問題想問
像這樣的程式
if 1==1:
a = 10
print a
結果會顯示10
但在小弟的觀念裡面
a是屬於if這個區塊的local變數 所以在外面print不出來
應該會出現error才對 但卻不是如此
請問為什麼會這樣呢?是否有什麼Python的關鍵特性小弟應該認識的?
謝謝各位大大!
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 218.166.197.179
推 kdjf:if 是 statment, 不是function, function才會有local var 07/13 15:28
→ ya790206:The following are blocks: a module, a function body, 07/13 15:29
→ ya790206:, and a class definition.所以if沒有block 07/13 15:30
→ poopoo888888:原來如此 原來不同語言看待block的方式有差 07/13 23:43
→ poopoo888888:謝謝兩位大大! 07/13 23:43