→ alibuda174: 可以嗎? 11/28 23:47
→ DemonDeath: 不行吧 11/28 23:51
已修改
※ 編輯: Arim (49.159.133.241), 11/29/2014 00:01:26
→ alibuda174: 因為if並不是函式 不會形成區域變數 11/29 00:05
→ alibuda174: 你寫的程式裡 sys仍會變成全域變數 11/29 00:05
→ alibuda174: 可試著在最後print(globals()) 可看到全部的全域變數 11/29 00:06
→ ocean5566: ? 你覺得不行的點在哪裡? 11/29 00:13
→ ocean5566: function裡面找不到變數 會往上找 直到盡頭 11/29 00:14
→ uranusjr: 寫過 C-like 語言的人第一直覺應該都會是不行 11/29 00:14
→ ocean5566: sys就在上面 然後foo把它 印出來 有何問題 ....? 11/29 00:15
→ uranusjr: 但 Python 變數其實是 function/module scoped, 和 C 或 11/29 00:17
→ uranusjr: Java 家族的 block scoped 不一樣, 所以認知要稍微調整 11/29 00:17
為什麼寫在這個 if 裏面的會變成 global variable?
※ 編輯: Arim (49.159.133.241), 11/29/2014 13:47:25
→ eric541: u大有說了因為 Python 是 function/module scope 11/29 15:30
→ eric541: 所以單純寫在 if 內的變數其實不會只在 if 內而是global 11/29 15:31
→ ocean5566: 用中文觀點去理解英文文法 那你一輩子都學不會英文 end 11/29 15:34
→ ck574b027: 並沒有"變成 global variable",它就是 variable, 12/03 18:06
→ ck574b027: if 不會新增 scope。 12/03 18:11