global
.一个变量被多个函数引用,想让全局变量被所有函数共享和修改。有的伙伴可能会想,这还不简单:
i = 5
def f():
print(i)
def g():
print(i)
pass
f()
g()
f和g两个函数都能共享变量i
,程序也没有报错。所以他们依然不明白为什么要用global
.
但是,如果想要对i
递增,这样:
def h():
i += 1
h()
UnboundLocalError
.原来编译器在解释i+=1
时会把i
解析为函数h()
内的局部变量,很显然在此函数内,编译器找不到对变量i
的定义,所以会报错。
global
就是为解决此问题而被提出的。
在函数h内,显示地告诉编译器i
为全局变量,然后编译器会在函数外面寻找i
的定义,执行完i+=1
后,i
还为全局变量,值加1:
i = 0
def h():
global i
i += 1
h()
print(i)
近期小例子:写一个装饰器:统计异常发生次数和时间;对象可被调用的实现方法;求任意维度两点间距离; 两种合并字典的方法对比; 计算和聚合同时进行; groupby 分组; plotly画柱状图+折线图;
82页《Python之路1.1.pdf
》下载方式,关注《Python小例子》并在其后台回复 mypy,即可下载。
本文分享自 程序员郭震zhenguo 微信公众号,前往查看
如有侵权,请联系 cloudcommunity@tencent.com 删除。
本文参与 腾讯云自媒体同步曝光计划 ,欢迎热爱写作的你一起参与!