python使用全局变量的坑,要使用global
Python 全局变量与global关键字
在Python的变量使用中,经常会遇到这样的错误:
local variable 'a' referenced before assignment
它的意思是:局部变量“a”在赋值前就被引用了。
比如运行下面的代码就会出现报错这样的问题:
a = 3
def Fuc():print (a)a = a + 1
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)a =a + 1if __name__ == "__main__":print(a) #3a = a + 1Fuc() #4print(a) #5
python使用全局变量的坑,要使用global相关推荐
- python 库 全局变量_python局部变量和全局变量global
当你在函数定义内声明变量的时候,它们与函数外具有相同名称的其他变量没有任何关系,即变量名称对于函数来说是 局部 的.这称为变量的 作用域 .所有变量的作用域是它们被定义的块,从它们的名称被定义的那点开 ...
- python中全局变量和局部变量关键字_Python中全局变量和局部变量的理解与区别
前言 学过编程的人应该对全局变量与局部变量这两个名词并不陌生,Python也同多数编程语言一样,也有全局变量与局部变量的概念 但是与其他编程语言又有所不同 全局变量与局部变量两者的本质区别就是在于作用 ...
- (Python+Tensorflow)编程踩坑集锦
(Python+Tensorflow)编程踩坑集锦 1 开发环境安装 推荐视频:https://www.icourse163.org/learn/PKU-1002536002?tid=14529374 ...
- 学好python需要哪些基础_学Python要避免哪些坑,如何巩固好基础
学Python要避免哪些坑?零基础怎么入门Python?Python入门简单.语法简洁.功能强大,非常适合零基础入门IT行业的人学习.随着人工智能时代的来临,企业纷纷选择使用Python进行开发,Py ...
- python中全局变量_玩转Python,使用全局变量
这是本专栏的第一篇文章,开设这个专栏的目的很单纯,就是向读者的各位展示Python编程的乐趣.我在工作中发现一个现象:热爱编程的人总是能从繁琐的任务中发现其中的乐趣,进而对这门语言了解的更深入.而只是 ...
- python中全局变量和局部变量关键字_Python中都全局变量和局部变量
Python中都全局变量和局部变量 Python中都全局变量和局部变量 定义 全局变量:函数体之外定义的变量 局部变量:函数体之内定义的变量 下述代码中,t是全局变量,m是局部变量 t = 1 def ...
- Python——定义全局变量
全局变量是编程语言中常见的一种变量,通过全局定义,可以是某对象函数创建,也可以是本程序任何位置创建,能够被本程序中的所有对象或函数进行引用,全局变量的定义有利于程序的变量共享,简化了添加和修改的程序. ...
- Python定义全局变量的用法
全局变量是编程语言中常见的一种变量,通过全局定义,可以是某对象函数创建,也可以是本程序任何位置创建,能够被本程序中的所有对象或函数进行引用,全局变量的定义有利于程序的变量共享,简化了添加和修改的程序. ...
- python 定义全局变量
python定义全局变量 全局变量可以在代码任意位置创建,能够被所有对象和函数引用,有利于变量的共享. 全局变量的定义: global+变量名 声明后引用: OLD_URL='http://oldbo ...
最新文章
- 串口 能 按位传输吗_六类网线能传输多少米?家装六类网线有必要吗?
- 2018年蓝桥杯B组题E题+快排
- 作者:谢华美(1976-),男,就职于中国人民银行征信中心数据部
- 20190730算法题存档
- Live CD|ISO
- MS CRM 2011 Audit
- Oracle 安装 RAC 11.2.0.4 centos7.4 -udev磁盘绑定/执行root脚本报错
- Spring @AutoWired实现原理
- 拼接SQL文的测试方法
- 如何在windows xp下实现声音内录
- 【ASP.NET MVC4】第一课:初识ASP.NET MVC,创建第一个ASP.NET MVC项目
- 网易云计算机系统有限公司,网易云音乐
- linux命令行显卡驱动,Linux下NVIDIA显卡驱动安装方法
- java计算机毕业设计南京新东方学校家校通系统源码+程序+lw文档+mysql数据库
- Linux之进程的前后台切换
- HTML tabindex用法及使用场景详解
- Error creating bean with name xxxxxxx
- wgs84坐标格式转换度分秒_使用ArcGIS实现WGS84经纬度坐标到北京54高斯投影坐标的转换...
- C语言读配置文件-自动封装Windows系统服务--20210512
- 淘宝arduino虚拟键盘开发环境及对应键盘按键代码