[問題] 請問global用法

看板Python作者 (BTRay)時間4年前 (2021/07/06 13:29), 編輯推噓3(303)
留言6則, 4人參與, 4年前最新討論串1/1
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

07/06 13:35, 4年前 , 1F
執行函式後 animal="wombat"就會被執行 所以外面animal
07/06 13:35, 1F

07/06 13:35, 4年前 , 2F
內容就會更改
07/06 13:35, 2F

07/06 13:36, 4年前 , 3F
因為function把global的animal改掉了阿
07/06 13:36, 3F

07/06 13:37, 4年前 , 4F
因為function裡面的操作已經改動到外面animal的值
07/06 13:37, 4F

07/06 13:42, 4年前 , 5F
原來是這樣,謝謝大家的回覆,感恩!
07/06 13:42, 5F

07/06 13:58, 4年前 , 6F
這也是global帶來的效果
07/06 13:58, 6F
文章代碼(AID): #1Wu-edIK (Python)
文章代碼(AID): #1Wu-edIK (Python)