python中必须用global吗_我什么时候需要在python中使用global关键字

好吧,所以我有一个非常讨厌的问题,其中一个变量在本地设置,但然后在该函数之外恢复到它的旧自我(在这种情况下为None),但同时我可以操纵其他变量仍然可以不使用“全球”关键字.

我不能提供真正的代码,但它是这样的:

foo = {}

foo_foo = {}

bar = None

def changes_foo():

...do some stuff to foo...

class EditThread(threading.Thread):

def __init__(self):

setup()

def run(self):

for key, value in foo.items():

do_update_task(key, value)

def do_update_task(self, key, value):

...do some editing too foo...

del foo[key]

bar = [key, value]

foo_foo[key] = value

def print_the_bar():

print bar

请注意foo和foo_foo上的所有操作都运行正常,但是当我调用print_the_bar时,bar仍然是None,并且我的代码中有很多print语句来验证do_update_task中的bar确实具有正确的值并且不是没有.

有人可以向我解释为什么会这样吗?

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值