Python全局变量似乎无法跨模块工作

Python全局变量似乎无法跨模块工作,第1张

Python全局变量似乎无法跨模块工作

简而言之:如果不修改代码,则无法使其打印为“ ok”。

from a import x, changeX
等效于:

import ax = a.xchangeX = a.changeX

换句话说,

from a import x
不创建
x
间接指向的
a.x
,而是
x
b
模块中使用 当前
值创建一个新的全局变量
a.x
。因此,以后的更改
a.x
不会影响
b.x

为了使您的代码按预期工作,只需将代码更改

b.py
import a

import aa.changeX()print a.x

您将减少混乱的导入,更易于阅读代码(因为无需查看导入列表即可清楚地知道哪个标识符来自何处),循环导入的问题更少(因为并非一次需要所有标识符),并且有更好的机会喜欢

reload
工作的工具。



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5648169.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-16
下一篇 2022-12-16

发表评论

登录后才能评论

评论列表(0条)

保存