作者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://webptt.com/cn.aspx?n=bbs/Python/M.1625549351.A.494.html
1F:推 tsoahans: 执行函式後 animal="wombat"就会被执行 所以外面animal 07/06 13:35
2F:→ tsoahans: 内容就会更改 07/06 13:35
3F:推 s0914714: 因为function把global的animal改掉了阿 07/06 13:36
4F:推 cuteSquirrel: 因为function里面的操作已经改动到外面animal的值 07/06 13:37
5F:→ facebookray: 原来是这样,谢谢大家的回覆,感恩! 07/06 13:42
6F:→ cuteSquirrel: 这也是global带来的效果 07/06 13:58
7F:→ benqm300: 你会有疑惑对吧,所以global不能乱用,尽量少用 07/09 20:08