学习记录-Python的局部变量和全局变量( 二 )
这里我的理解是:在局部作用域要对一个变量进行操作,Python会先在当前局部作用域查找有没有声明这个变量,如果有,就优先使用当前局部作用域中的变量,如果当前局部作用域作用域中没有,才会去全局作用域中寻找
4 globalglobal允许在局部作用域中声明全局变量
def spam():global eggegg = 'In spam function'spam()print(egg)

文章插图
通过使用global语句在局部作用域中声明了一个全局变量egg,当函数
spam()
调用结束后变量egg并未随之销毁5 全局变量和局部变量的优先级在上面的例子中说过,如果在全局变量和局部变量同名,那么局部作用域中会优先处理在当前作用域中声明的的变量
用下面的例子进一步说明这个问题
def spam():print(egg)egg = 'In spam function'egg = 'Out side function'spam()

文章插图
报错显示
局部变量在赋值前被引用
,就像前面所说,当在局部作用域中处理一个变量时,Python会先查看这个变量是否在局部作用域中进行声明,然后在会在全局作用域中查找这个变量的声明参考内容《Python编程快速上手》
经验总结扩展阅读
- 如何让差生学习好英语
- 初等数论学习笔记 III:数论函数与筛法
- 为什么有些人会孤立认真学习的人
- 苹果ipad分屏功能怎么使用(ipad 9可以分屏学习吗)
- 前端程序员学习 Golang gin 框架实战笔记之一开始玩 gin
- 1 Libgdx游戏学习——环境配置及demo运行
- 电信卡查通话记录和短信怎么查
- Go设计模式学习准备——下载bilibili合集视频
- 学习ASP.NET Core Blazor编程系列五——列表页面
- 小学生的学习动机是什么