python全局名称空间_在python中导入全局名称空间

1586010002-jmsa.png

let's say i have the following files:

a.py

glo_var = 0

def func():

global glo_var

glo_var = 5

print "A %d" % (glo_var)

b.py

from a import *

func()

print "B %d" % (glo_var)

If I ran b.py the output is:

A 5

B 0

My question is, how to import the global namespace so the output will be

A 5

B 5

I need to call the function in the module a.py from b.py so it will affect the globals.

I don't want to use regular "import" but to use it this way, "from a import *"

解决方案

Using from ... import ... copies the references from the other module. Rebinding the value in the original causes it to have a new reference, breaking the link between a.glo_var and b.glo_var permanently. Either use a mutable object and mutate it, or reimport a.glo_var whenever you need the updated value.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值