说说 Python 的 global 标识对变量作用域的影响
发布日期:2021-06-29 21:14:28
浏览次数:3
分类:技术文章
本文共 768 字,大约阅读时间需要 2 分钟。
global 标识用于在函数内部,修改全局变量的值。
我们可以通过以下规则,来判定一个变量到底是在全局作用域还是局部作用域:
- 变量定义在全局作用域,那就是全局变量。
- 变量在函数中定义,并且加了 global 标识,就是全局变量。
- 如果变量在函数中仅做了定义,那么就是局部变量。
- 如果变量在函数中仅仅是使用,那么就是全局变量。
下面的示例,有助于理解上述规则:
def cook(): global dumplings dumplings = '10' # 全局变量 print('cook():' + dumplings)def cook2(): dumplings = '22' # 局部变量 print('cook2():' + dumplings)def cook3(): print('cook3():' + dumplings) # 全局变量dumplings = 3 # 全局变量cook()print('global:' + dumplings)cook3()cook2()
运行结果:
cook():10
global:10 cook3():10 cook2():22
注意: 在函数中,如果在变量定义之前先使用它,就会抛错:
def cook(): print(dumplings) dumplings = 'local'dumplings = 'global'cook()
运行结果:
UnboundLocalError: local variable ‘dumplings’ referenced before assignment
因为在函数中,存在对 dumplings 的定义赋值语句,所以被认为是局部变量。所以在定义之前,先访问这个局部变量就会抛错。
转载地址:https://deniro.blog.csdn.net/article/details/99206706 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
第一次来,支持一个
[***.219.124.196]2024年04月07日 08时41分59秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
超详细--CSS知识点总结(面试备战必备)
2019-04-30
Mysql数据库root用户权限缺失的解决
2019-04-30
前端学习详细知识点讲解-JavaScript(第一天)
2019-04-30
上海京创智汇-WEB前端面试面经
2019-04-30
.__proto__和.prototype之间的一些区别
2019-04-30
前端面试、笔试中常见但又容易让人忘记忽略的知识点
2019-04-30
MySQL学习日记25——流程控制结构
2019-04-30
JDBC学习日记6——JDBC工具类和模糊查询
2019-04-30
坑——java多线程里用final引用
2019-04-30
final关键词在多线程环境中的使用
2019-04-30
java-线程状态-阻塞和等待-bloked-和-waiting-区别
2019-04-30
使用GroboUtils多线程并发请求测试springmvc controller
2019-04-30
Junit spring 多线程测试
2019-04-30
java模拟并发请求测试方法是否线程安全
2019-04-30
CyclicBarrier 用法
2019-04-30
重入锁:ReentrantLock 详解
2019-04-30
Java join()方法的使用
2019-04-30
模拟死锁 java
2019-04-30
Java线程的6种状态及切换(透彻讲解)
2019-04-30
HttpURLConnection的接口调用
2019-04-30