python中的global关键词

和C语言等其他编程语言一样,global也是python语言中的一个关键词,我们从字面意思就可以知道,这个关键词的作用是表示一个变量是全局变量,也就是在函数内部,可以调用到函数外部以外的变量,从而实现变量资源的共享,我们可以通过以下的代码来感受一下这个关键词的作用。
首先来看这一段代码:

i = 0
def h():
	# global i
	i += 1
h()
print(i)

运行之后,我们可以看到该程序会报错:

Traceback (most recent call last):
  File "E:\python60days\kw_yeild\day_19.py", line 50, in <module>
    h()
  File "E:\python60days\kw_yeild\day_19.py", line 49, in h
    i += 1
UnboundLocalError: local variable 'i' referenced before assignment
[Finished in 1.6s with exit code 1]

我们如果注意到其中注释掉了global i这一句声明,如果我们把这条声明去掉也就是添加这一行:

global i

那么就可以正常运行并且输出一下结果;

1
[Finished in 0.9s]

global关键词和unlocal关键词类似,都是扩展变量的作用于,可以让函数调用外部的变量,不同的是,unlocal只能在嵌套函数中使用声明母函数内部的变量,而global可以全局,也就是范围增加到了程序全体,显然更加广阔。

发布了207 篇原创文章 · 获赞 16 · 访问量 9884

猜你喜欢

转载自blog.csdn.net/weixin_41855010/article/details/104639675