Python 模块命名

Python module naming

使用 python 2.7,我正在构建一个包如下:

mypackage/
  __init__.py
  somemodule.py

__init__.py 我有这个:

from . import somemodule

在 somemodule.py 我有以下内容:

class SomeClass:
  pass

当我尝试访问 SomeClass 时,它会将文件名添加到 class 前面,因此可以通过以下方式访问它:

import mypackage
mypackage.somemodule.SomeClass

我怎样才能得到它以便按如下方式访问它:

mypackage.SomeClass

不直接将 class 放入 __init__.py?

我确定之前已经回答过这个问题,但我不确定如何表述这个问题。

如果你真的想导入你的class喜欢

mymodlue.myClass

您必须首先在 __init__.py 文件中导入 class,例如:

from someclass import myClass

您甚至可以这样做(只是为了让您了解这个概念 - 它实际上非常丑陋):

import someclass
myClass = someclass.myClass

同样有效。