什么是Python等效于C++命名空间?

2 python python-3.x

在C++中我会写:

namespace LowerLevel{
int DoStuff() {}; //
}
Run Code Online (Sandbox Code Playgroud)

并通过以下方式访问:

LowerLevel::DoStuff()
Run Code Online (Sandbox Code Playgroud)

我如何在Python中执行这两项操作?

Lag*_*aer 6

精神上最接近的是使用模块.

lower_level.py你有的文件中

def do_stuff():
  pass
Run Code Online (Sandbox Code Playgroud)

然后你会做其他事情:

import lower_level
lower_level.do_stuff()
Run Code Online (Sandbox Code Playgroud)

EDIT/addendums:这是一种简单的方法.有像包这样的东西,你有一个文件夹lower_level,在那个文件夹里面是一个__init__.py标识lower_level为一个包.在该软件包中,您将拥有.py可以作为模块的文件,或者您将某些导入和声明放入其中__init__.py.但它也可以保持空洞.我猜包会相当于嵌套的命名空间.

- prog.py
\MyNameSpaceA
    - __init__.py # just an empty file
    - ObjA.py # A python Module
    \SubPackageB
       - __init__.py
       - ObjB.py # another python module
Run Code Online (Sandbox Code Playgroud)