You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python中如何无需模块前缀直接调用模块内类创建对象?

一次性导入模块内所有类以直接使用类名创建对象

你可以用from <模块名> import *语句实现需求,这会把目标模块内的所有公开成员(或模块中__all__列表指定的成员)导入当前命名空间,之后就能直接用类名创建对象,无需逐个导入每个类。

示例操作:

假设你有一个名为my_module.py的模块,里面定义了多个类:

# my_module.py
class Object1:
    def __init__(self, p1, p2):
        self.p1 = p1
        self.p2 = p2

class Object2:
    def __init__(self, p):
        self.p = p

在主代码文件中使用以下导入语句:

from my_module import *

# 直接用类名创建对象
x = Object1("param1", "param2")
y = Object2("param")

注意事项:

  • 如果模块中定义了__all__列表,import *只会导入列表里指定的类/成员。比如在my_module.py中添加__all__ = ["Object1"],那么from my_module import *只会导入Object1,Object2无法直接使用。
  • 这种方式可能引发命名冲突:如果当前命名空间中已经存在和模块内类同名的变量、函数或类,会被导入的成员覆盖。
  • 大型项目或多人协作场景中不推荐使用,会降低代码可读性——其他开发者很难快速判断这些类的来源。

内容的提问来源于stack exchange,提问作者Muffin

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.07 05:35:21