首页 > 解决方案 > 如何初始化整个 Python 模块并导入所有类,而无需为每次调用引用模块名称?

问题描述

假设我有一个名为“module1”的模块,它有很多类。我想在我的主控制器main .py 中使用他们所有的类。我可以使用 导入整个模块import module1,但是,我假设 'module1' 中的类名是唯一的,并且我不想每次调用 module1 之类的函数时都引用它module1.class1()

如何在不明确声明类/函数名称的情况下导入模块的全部内容,并且仍然能够在不声明模块名称的情况下引用它们。

如:

    # module1.py.
    class Class1():
        pass
    
    class Class2():
        pass
    # __main__.py
    import module1
    
    # The following will not work.
    object1 = Class1()
    object2 = Class2()

标签: pythonimportmodule

解决方案


您可以使用*导入模式

from module1 import *

这使您可以使用该模块中的所有内容而无需引用它。

from module1 import *

instance = Class1()

但是,通常不鼓励这样做。出于原因,一些额外的阅读:


推荐阅读