Python 名称空间和导入-我做对了吗?

Python 名称空间和导入-我做对了吗?,python,import,namespaces,Python,Import,Namespaces,请有人确认我理解名称空间,因为它们适用于导入,最好有一些好的参考 我认为会发生以下情况: 我以脚本或模块的形式启动一个程序,它为名称空间建立一个“根” 如果packageX位于根目录的正下方,我可以导入packageX 我可以为子包导入packageX.packageY.packageZ 从packageZ中,我可以导入..packageA其中,包A和包Z位于packageY 我可以使用相对名称空间,但不能“在”packageX上;我最多只能从与packageX相同级别的包中导入 如果我的回

请有人确认我理解名称空间,因为它们适用于导入,最好有一些好的参考

我认为会发生以下情况:

  • 我以脚本或模块的形式启动一个程序,它为名称空间建立一个“根”
  • 如果
    packageX
    位于根目录的正下方,我可以导入packageX
  • 我可以
    为子包导入packageX.packageY.packageZ
  • packageZ
    中,我可以
    导入..packageA
    其中,包A和包Z位于
    packageY
  • 我可以使用相对名称空间,但不能“在”packageX上;我最多只能从与
    packageX
    相同级别的包中导入
如果我的回答是正确的,是否有办法查看我在命名空间树中的“级别”,例如,如果在
packageX
我有一个可能的级别,或者在级别“”我不能再升级


在过去的几天里,这让我陷入了困境,我不确定我是在看别人的错误代码还是我自己的误解

你读过这个吗?它有一个很好的例子。如果只有一个深度,则至少在根级别上需要一个
\uuuuu init\uuuuu.py
。谢谢。我目前必须使用Python 2.6/2.7,但要证明这是同样的工作方式,这正是我所寻找的东西,它比我发现的任何东西都清晰得多。很好。大多数时候,官方文件是最好的文件。它的工作原理是一样的。我不认为Python2和3之间有任何区别。如果我理解正确的话,让我大吃一惊的是,“.”的意思是“上一级”,而不是像路径名一样,“…”。所以我可以…'''从…某处导入一些起初有点奇怪的东西:-)。