当前位置: 首页 > 面试题库 >

Python-为什么“导入*”不好?

金钧
2023-03-14
问题内容

建议不要import *在Python中使用。

可以分享原因,以便下次避免这样做吗?


问题答案:

因为它将很多东西放到你的命名空间中(可能会遮盖以前导入的其他对象,你对此一无所知)。

因为你不完全知道要导入的内容,而且不容易找到从哪个模块导入的特定内容(可读性)。

因为你不能使用像pyflakes静态检测代码中的错误之类的出色工具。



 类似资料:
  • 有这样一个应用程序结构,其中是根目录,“app”和“package1”是两个并行包: *注意:最后一个位于根目录“myapp”中 如何解决ImporDerror:尝试在没有已知父包的情况下进行相对导入 我想应用“解决方案1”,但不明白我应该把main.py放在哪里,它的内部代码是什么,或者相反,它可能是像这样的空文件

  • 我试图导入PyAudio,但它总是给我一个错误。如果我的电脑有问题,我使用的是Windows64x和Python3.9.4。以下是错误:

  • 问题内容: 我注意到我今天想解释的东西很奇怪。我不是100%不确定如何将其表达为一个问题,所以google是不可能的。由于某些奇怪的原因,日志记录模块无权访问模块logging.handlers。如果您不相信我,请自己尝试: 谁能解释为什么会这样? 问题答案: 在Python中,需要先导入模块,然后才能对其进行访问。仅导入日志记录模块。碰巧这是一个带有子模块的软件包,但是那些子模块仍然不会自动加载

  • 问题内容: 看一下这个文件: 它不编译;我需要。现在考虑这一点: 完全一样,只是用代替,所以不应该编译,对吧?错误。 好的,所以不必导入是众所周知的,但是 为什么 呢?“明显”的答案是因为它的使用频率远高于,但是不应该“隐式导入”吗?原始包装器类,例如和呢?用 远远 往往比和,但我必须进口,并不需要进口。 什么是落后不需要对进口的原因,,,和其他几个班? 问题答案: 明显的答案是因为它的使用频率远

  • 问题内容: 我不明白为什么很少有导入包在“ java”后面附加“ x”。是什么原因?难道就和其他人一样吗? 问题答案: Swing最初是Java的扩展-可单独下载的库。它成为Java 1.2中“主要” JRE的一部分。一个单独的库声称拥有java。*包,这很奇怪,因此是目前的情况。还有许多其他扩展都有类似的故事。 在Swing的维基百科的文章有其历史提供更多的信息。