程序问答   发布时间:2022-06-01  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了“from x import x”实际上是什么意思?大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

如何解决“from x import x”实际上是什么意思??

开发过程中遇到“from x import x”实际上是什么意思?的问题如何解决?下面主要结合日常开发的经验,给出你关于“from x import x”实际上是什么意思?的解决方法建议,希望对你解决“from x import x”实际上是什么意思?有所启发或帮助;

我的意思是,无论是否有名为 x 的包、是否有名为 x 的模块、是否有名为 x 的变量,这个公式都可能意味着不同的事情其中等

即使在 python 文档中,我也没有找到对这个问题的易于理解、简洁的答案。

答案将阐明 python @R_404_5565@ 的工作原理。

解决方法

您的回答非常正确,但这里是relevant documentation:

from 表单使用稍微复杂的过程:

  1. 找到from子句中指定的模块,必要时加载并初始化它;

  2. 对于 import 子句中指定的每个标识符:

    1. 检查导入的模块是否具有该名称的属性

    2. 如果不是,请尝试导入具有该名称的子模块,然后再次检查导入的模块是否具有该属性

    3. 如果未找到该属性,则引发 ImportError

    4. 否则,对该值的引用存储在本地命名空间中,如果存在,则使用 as 子句中的名称,否则 使用属性名称

,

我在下面使用这些概念:package x 是一个名为 x 的目录,其中包含一个 __index__.py 文件; @H_325_3@module x 是一个 x.py 文件。 经过大量测试后,我得出了以下结论。

from x import x

意思是:
(伪代码)

if there is a package x:
    if there is a variable x in x/__init__.py: import this variable
    elif there is a package x in package x: import this inner package
    elif there is a module x.py in package x: import this module
    else: ImportError
elif there is module x.py:
    if there is a variable x in x.py: import this variable
    else: ImportError
else: ImportError

这个算法似乎是正确的。
在 python 3.7.6 上测试

,

您使用 import 时,整个文件将作为一个类导入。如果您有一个名为 sum 的模块(文件),并且在该文件中您有一个名为 sum 的函数,那么使用 from sum import sum 您只能获得该函数。

大佬总结

以上是大佬教程为你收集整理的“from x import x”实际上是什么意思?全部内容,希望文章能够帮你解决“from x import x”实际上是什么意思?所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签:importx