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

来自其他文件Python的全局变量

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

来自其他文件Python的全局变量

导入

file2
file1.py
使得全球(即,模块级)的约束名字
file2
提供给下面的代码
file1
-唯一的此类名称是
SomeClass
。它并
没有 做反向:在定义的名称
file1
并不提供给代码
file2
的时候
file1
进口
file2
。即使您以正确的方式(
importfile2
如@nate正确建议)导入的情况也是如此,而不是以令人恐惧的可怕方式进行操作(如果在阳光下的每个人都忘记了结构的存在
from ...import *
,生命将会是 所以 更好的为大家)。

显然,你想在定义的全局名称

file1
提供给代码
file2
反之亦然。这被称为“循环依赖”,这是一个 糟糕的
主意(在Python或其他任何地方)。

因此,与其向您展示在Python中实现周期性依赖(有些类似)的令人难以置信的脆弱,通常难以维护的黑客,我不如讨论 可以避免
这种可怕结构的许多出色方法。

例如,您可以将需要两个模块都可用的全局名称放在 第三个
模块中(例如

file3.py
,继续命名;;),然后将该第三个模块导入到其他两个模块中的每个模块中(
importfile3
file1
和中
file2
,然后使用)
file3.foo
(例如, 合格
名称),目的是访问或设置来自其他模块之一或两者的全局名称, 而不是 裸名)。

当然,如果您(通过编辑Q)明确 说明了为什么
您认为需要周期性依赖(只是一个简单的预测:不管是什么使您认为您需要周期性依赖,那么您都会得到越来越多的具体帮助)。错误;-)。



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

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

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