栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

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

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

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
工作的工具。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/645968.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号