看板 Python 關於我們 聯絡資訊
https://i.imgur.com/oMTwT7V.png 這段程式碼是我在 精通python這本書裡面遇到的問題 在函式裡面輸入global animal會存取外面的animal(書裡面是這樣寫的),但是書的下一 行又把wombat指派給animal 於是在下面做了三個print 第一個因為沒有做函式的內容所以印出fruitbat 第二個執行函式,而函式找變數的規則是LEGB,所以這個也沒有問題 但是為什麼第三個會印出wombat 不好意思這個問題困擾了好久,再麻煩大家幫我解答… -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 101.12.47.13 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/Python/M.1625549351.A.494.html
tsoahans: 執行函式後 animal="wombat"就會被執行 所以外面animal 07/06 13:35
tsoahans: 內容就會更改 07/06 13:35
s0914714: 因為function把global的animal改掉了阿 07/06 13:36
cuteSquirrel: 因為function裡面的操作已經改動到外面animal的值 07/06 13:37
facebookray: 原來是這樣,謝謝大家的回覆,感恩! 07/06 13:42
cuteSquirrel: 這也是global帶來的效果 07/06 13:58
benqm300: 你會有疑惑對吧,所以global不能亂用,儘量少用 07/09 20:08