作者facebookray (BTRay)
看板Python
標題[問題] 請問global用法
時間Tue Jul 6 13:29:09 2021
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