云主机可以放多少网站,iis6.1添加网站,美团app开发费用,网站推广内容Python 全局变量与global关键字
在Python的变量使用中#xff0c;经常会遇到这样的错误:
local variable a referenced before assignment它的意思是#xff1a;局部变量“a”在赋值前就被引用了。 比如运行下面的代码就会出现这样的问题#xff1a;
a 3
def Fuc(…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中a3 定义了全局变量a作用域从定义处到代码结束在 a3 以下的函数中是可以引用全局变量a的但如果要修改函数中与全局变量同名的变量则函数中的该变量就会变成局部变量在修改之前对该变量的引用自然会出现未分配或未定义的错误了。
如果确定要引用并修改全局变量必须加上global关键字
a 3
def Fuc():global aprint (a)aa1
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 。