【问题标题】:How to understand from . import in python? [duplicate]从如何理解。在python中导入? [复制]
【发布时间】:2015-10-30 07:42:17
【问题描述】:

我是 python 和烧瓶框架的新手。

以下代码:

from flask import Blueprint
main = Blueprint('main', __name__)
from . import views, errors

我发现python有很多导入方式,例如:

import foo
import foo.bar
from foo import bar
from foo import bar, baz
from foo import *
from foo import bar as fizz

但是如何理解from . import ...

【问题讨论】:

  • 你可以从Python tutorial开始。
  • @MartijnPieters 非常感谢!我觉得我走得太快了,我应该从头开始。

标签: python flask


【解决方案1】:

当您使用import XXX时,您将在命名空间XXX下导入XXX的所有内容,并且您可以使用XXX.abc、XXX.example等访问它们...

当您使用from XXX import abc 时,您只会覆盖您的globals() 字典的变量abc。特殊的from XXX import * 也是如此,但对于名称不以下划线开头的所有变量。

最后,“as”关键字允许您为导入的模块/函数/变量指定您想要的名称。

当您有一个包含一些文件夹的模块,并且您想从另一个文件导入时,.指向包含当前文件的目录,.. 指向包含它的目录,依此类推。

对于一个不太简洁/更精确的答案:`from ... import` vs `import .`

【讨论】:

    【解决方案2】:
    from . import foo, bar
    

    表示从当前目录导入foo、bar。

    from foo import *
    

    表示从模块 foo 导入所有项目。但我认为这不是一个好的做法。如果您可以并且只需要模块中的少数项目,请像正常导入而不是这个。更多信息请查看here.

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-06-12
      • 1970-01-01
      • 2019-03-05
      • 2010-10-15
      • 2019-10-17
      • 2021-01-06
      • 2021-10-09
      • 2016-09-01
      相关资源
      最近更新 更多