Python 全局变量与global关键字
Python 全局变量与global关键字
在Python的变量使用中,经常会遇到这样的错误:
local variable 'a' referenced before assignment
它的意思是:局部变量“a”在赋值前就被引用了。
比如运行下面的代码就会出现这样的问题:
a = 3
def Fuc():print (a)a = a + 1
Fuc()
但是如果把 a = a + 1 这一句删除又不会出现上述问题了
a = 3
def Fuc():print (a)
Fuc()
原来,在Python中,a=3 定义了全局变量a,作用域从定义处到代码结束,在 a=3 以下的函数中是可以引用全局变量a的,但如果要修改函数中与全局变量同名的变量,则函数中的该变量就会变成局部变量,在修改之前对该变量的引用自然会出现未分配或未定义的错误了。
如果确定要引用并修改全局变量必须加上global关键字
a = 3
def Fuc():global aprint (a)a=a+1
Fuc()
注意要领:哪个函数需要修改全局变量,在函数中声明一下即可。
但在 if _name_ == “main”:下,全局变量是一直保持的
a = 3
def Fuc():global aprint (a) # 1a = a + 1
if __name__ == "__main__":print (a) # 2a = a + 1Fuc()print (a) # 3
输出如下(Python3环境下):
3
4
5
三个print执行的顺序为:2, 1, 3 。
人生苦短,我用Python~
Python 全局变量与global关键字相关推荐
- Python全局变量及Global关键字( Global variable in Python)
目录 1. Python全局变量 2. 简单的示例 3. 全局变量的有效作用范围 4. 在函数内部修改变量 5. global关键字 6. 跨模块的情况 1. Python全局变量 Python全局变 ...
- global在python_在Python中使用“global”关键字
在Python中使用"global"关键字 我从阅读文档中了解到,Python有一个单独的函数命名空间,如果我想在该函数中使用全局变量,我需要使用global. 我正在使用Pyth ...
- Python中的global关键字的用法
Python中的global关键字的用法 global的英文相比你肯定知道,全球的,总的.那么正Python编程语言中,结合global的中文意思你会更加的理解这个关键字的用法.我们使用global关 ...
- python设置全局变量失败_Python全局变量与global关键字常见错误解决方案
在Python的变量使用中,经常会遇到这样的错误: local variable 'a' referenced before assignment 它的意思是:局部变量"a"在赋值 ...
- Python nonlocal 与 global 关键字解析
nonlocal 首先,要明确 nonlocal 关键字是定义在闭包里面的.请看以下代码: x = 0 def outer():x = 1def inner():x = 2print("in ...
- python中的global是什么意思_Python中的global关键字,你了解吗?
前言 今天来了解下 Python 中的 global 关键字. Python变量的作用域 实战案例演示之前,先要了解下 Python 的作用域. 曾经在闭包的文章 <python小课堂26 - ...
- Python全局变量和局部变量(超详细,纯干货,保姆级教学)
全局变量定义: 在函数外部定义的变量.所有函数内部都可以使用这个变量. 局部变量定义: 在函数内部定义的变量.这个变量只能在定义这个变量的函数内部使用. 第一种:global定义全局变量在自定义函数内 ...
- python系统关键字_Python基础教程 - global关键字及全局变量的用法
Python中global关键字主要作用是声明变量的作用域. 在C语言中,由于变量一定是先声明,后使用,所以我们可以清楚的知道,现在使用的变量是全局还是局部,比如: int a = 5; void t ...
- 、简述global关键字的作用_二十三、Python变量作用域(局部变量和全局变量)
变量的作用域 在Python中,变量的作用域指的是变量起作用的范围,不同的作用域内,虽然变量的名字相同,但是它们互不影响.变量按照作用域范围可分为局部变量和全局变量. 全局变量 全局变量是在函数定义和 ...
最新文章
- linux路由信息自动丢失,浅谈用expect实现路由器自动备份数据
- python如何读取txt文件-如何在python中读取文件夹中的txt文件列表
- v8-su-root
- mysql 管理端口_MySQL8新增管理端口
- 【网摘】Oracle Dedicated server 和 Shared server(专用模式 和 共享模式) 说明
- 【转载保存】Lucene7.1.0超详细的使用文档
- sql left join用法_图解 SQL 中 JOIN 的各种用法
- H G W S哪一个不是状态函数_HAWE哈威BVH11H/M/S/2-X24换向阀
- 第12章 粒子同心圆(《Python趣味创意编程》教学视频)
- sql 查询的在northern最大的价值(LAT_N),小于137.2345 ,在小数点后4 位截断
- 天书夜读:从汇编语言到Windows内核编程
- 详解tomcat的连接数与线程池--转载
- spark 两个rdd求交集,差集,并集
- 黑马程序员Spring视频教程,全面深度讲解spring5底层原理 学习笔记
- android音标,安卓系统如何正确显示音标
- 「猪齿鱼」助力汉得信息智能制造集中交付高效协同
- directadmin php5.6,directadmin教程
- 目前为止学习过的循环解析过程
- Multiple PDN Connectivity
- 教你用Python搞定视频剪辑