Skip to main content
 首页 » 编程设计

python之是否有一种可接受的方法从不是 "from module import *"的全局命名空间中导入所有内容

2025年05月04日14bonelee

我有一个小型应用程序,我想将其拆分为多个模块,以便我的代码结构更好、可读性更好。这样做的缺点是对于我导入的每个模块使用:

import module 

然后我必须对我想从该模块访问的任何对象使用 module.object。

在这种情况下,我不想污染全局命名空间,我想用正确的模块名称填充它,这样我就不必使用

from module import * 

为了调用没有模块前置的对象。

有没有一种方法可以做到这一点而不被认为是对 from import 或 import 的不良使用?

请您参考如下方法:

两个合理的选择是导入一个较短的名称作为前缀。例如

import module as m 
m.foo() 

或显式导入您计划使用的名称:

from module import (foo,bar) 
foo()