gpt4 book ai didi

python - from ... import OR import ... 对于模块

转载 作者:行者123 更新时间:2023-12-03 17:32:31 28 4
gpt4 key购买 nike

我应该使用

from foo import bar

或者
import foo.bar as bar

导入模块 还有 无需/希望更改名称 ( bar)?

有什么不同吗?有关系吗?

最佳答案

假设 barfoo 中的模块或包,没有区别*,没关系。这两个语句的结果完全相同:

>>> import os.path as path
>>> path
<module 'posixpath' from '/Users/mj/Development/venvs/stackoverflow-2.7/lib/python2.7/posixpath.pyc'>
>>> from os import path
>>> path
<module 'posixpath' from '/Users/mj/Development/venvs/stackoverflow-2.7/lib/python2.7/posixpath.pyc'>

如果 bar不是模块或包,第二种形式不起作用;而是抛出回溯:
>>> import os.walk as walk
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ImportError: No module named walk

* 在 Python 3.6 及之前版本中,包含其他模块的包的初始化顺序存在一个错误,其中在包的加载阶段使用 import contained.module.something as alias在子模块中会失败 from contained.module import something as alias不会。见 Imports in __init__.py and `import as` statement有关该问题的一个非常说明性的示例,以及 Python 问题 #23203#30024 .

关于python - from ... import OR import ... 对于模块,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62356345/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com