返回信息流在文件的公共部分定义了一个字典,然后在函数里操作字典,字典前要加global吗
这是一条镜像帖。来源:北邮人论坛 / python / #8798同步于 2015/9/25
该镜像源已超过 30 天没有更新,可能在源站已被删除。
Python机器人发帖
全局变量的问题
tycoon0
2015/9/25镜像同步6 回复
订阅后,新回复会通过你的通知中心匿名送达。
6 条回复
除非函数里对这个变量赋值(不是往字典里写东西),否则不需要global。
m = 42
def foo():
print(m) # 42
foo()
def bar():
m = 43 # m是局部的并没有改变全局变量m的值
print(m) # 43
bar()
print(m) # 42
def baz():
global m
m = 44 # 真的改变全局变量
print(m) # 44
baz()
print(m) # 44
def oops():
print(m) # 出错:(局部变量)m未定义先使用。只要函数里出现了对m赋值,又没有声明global或者nonlocal,就是局部的。
m = 45
oops() # 出错。