import modx 和 from modx import * 有啥区别? [复制]

Posted

技术标签:

【中文标题】import modx 和 from modx import * 有啥区别? [复制]【英文标题】:What is the difference between import modx and from modx import *? [duplicate]import modx 和 from modx import * 有什么区别? [复制] 【发布时间】:2011-07-04 16:46:31 【问题描述】:

如果我要导入一些名为 modx 的模块,那和说的有什么不同

from modx import *

不是所有的内容都从任何一种方式导入吗?这在 python 中只是为了澄清。

【问题讨论】:

【参考方案1】:

如果您import somemodule,包含的全局变量将通过somemodule.someglobal 提供。如果您 from somemodule import * 其所有全局变量(或在 __all__ 中列出的变量,如果存在)将被设为全局变量,即您可以使用 someglobal 访问它们,而无需在其前面添加模块名称。

不鼓励使用from module import *,因为它会使全局范围变得混乱,如果您从多个模块导入内容,您可能会遇到冲突并覆盖现有的类/函数。

【讨论】:

【参考方案2】:

如果a 定义了a.ba.c...

import a
a.b()
a.c()

对比

from a import b
b()
c() # fails because c isn't imported

对比

from a import *
b()
c()

请注意,from foo import * 通常不受欢迎,因为:

    它将事物放入全局命名空间,而无需您进行精细控制 它可能会导致冲突,由于所有东西都在全局命名空间中 它不清楚当前文件中实际定义的内容,因为它定义的内容列表可能会因导入的内容而异。

【讨论】:

【参考方案3】:

需要回答许多常见问题的常见问题...这里有一个:http://effbot.org/zone/import-confusion.htm

基本上回答您的具体问题,第二种形式 (from modx import *) 您只获得 modx 中的公共项目

【讨论】:

以上是关于import modx 和 from modx import * 有啥区别? [复制]的主要内容,如果未能解决你的问题,请参考以下文章

html 示例MODX博客。请参阅:https://sepiariver.com/modx/creating-a-blog-in-modx/

在子文件夹中安装modx

ModX 无法查看新上下文

Modx 同上调用和复选框

如何实现 SEF 分页(同上)- MODx?

MODX (Evo) 同上和带有多个 DIV 的轮播,其中需要加载子资源 ID