如何覆盖定义类的名称空间?

时间:2019-11-07 13:56:16

标签: python

假设我有一个名为mypackage的软件包。 mypackage包含两个文件: __init__.pymodule.py

__init__.py只需从module.py中导入所有内容:

from .module import *

module.py中,我定义了类MyClass

class MyClass:
    pass

使用此软件包时,我可以通过以下方式简单地导入MyClass

from mypackage import MyClass

隐藏模块module.py。 但是,当我打印课程时,输出为

<class 'mypackage.module.MyClass'>

而不是期望的

<class 'mypackage.MyClass'>

是否有办法告诉MyClass,而不是__init__.py是在module.py中定义的?

1 个答案:

答案 0 :(得分:2)

module.py中进行此操作。

__name__ = 'mypackage'
class MyClass:
    pass

__name__之前是mypackage.module

相关问题