您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

Python跨模块和全局变量导入

Python跨模块和全局变量导入

我的理解错了吗?

是的,因为该行from file_a import A仅将类A导入的名称空间file_b。的名称空间file_a不予处理。如果不是这样,则两种语法都没有意义:

import modulename
from modulename import something

好像您的想法是正确的,那么在第二种形式之后,您将始终可以使用modulename.someotherthing

如果是,那么是否有办法在文件之间具有通用的导入和全局变量

是的,使用星号*运算符:

from modulename import *

但这带来了名称空间污染的问题,例如from file_a import *还将导入在中file_b完成的所有导入file_a。您最终 失去对进口的控制,这会在某些时候刺伤您……请相信我!

当出于某些原因from module import *需要时,解决方法是在变量中定义名称空间污染,module变量__all__将应使用star运算符导入的内容列入白名单。

HTH!

python 2022/1/1 18:25:49 有398人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶