当前位置: 首页 > 知识库问答 >
问题:

Pycharm自动导入没有遵循最佳实践?

范金鑫
2023-03-14

我们最近讨论了如何删除我们可能拥有的任何循环导入,并重构我们的代码以不再在函数中使用导入。

在许多地方(包括这里的PEP-8风格指南-在imports下)推荐的方法之一是使用:

import a 
a.foo()

而不是:

from a import foo
foo()

我看到了一些例子,并且确信这可能是一种更好的导入方式(尽管我已经习惯了< code>from的导入方式)。

但我不明白为什么 99% 的 python 示例不使用这种导入方式。以及为什么我的 pycharm 不允许以这种方式自动导入(或者它是吗?),如果这是正确的导入方式。

在查看pycharm配置时,我没有找到使用< code>import y.x而不是< code>from y import x自动完成的方法

共有1个答案

郦何平
2023-03-14

您不能使用导入x而不是从y导入x中使用。如果y是子模块,则必须使用导入x. y,或者如果y是变量(类、函数、常量…),则必须使用导入x;a=x. y如果y是变量(类、函数、常量…)
要使P但是,如果您开始键入os,Py

 类似资料:
  • 问题内容: 我有从CrudRepository扩展的User Repository,如下所示 具有需要针对不同存储库分别实现的功能。 因此,我创建了这样的存储库实现类。在包装中。 请注意,这仅用于实现功能。我不想覆盖该框架中提供的默认功能。 但如果我这样做,它会更适合在代码设计,真正实现顾名思义。 但这又将迫使我扩展UserRepository接口中的所有功能。如何通过良好的代码设计解决此问题?

  • 我在 Python 3.4 上安装了瓶子和 pip 安装。在终端中,当我这样做时: 但是当我用PyCharm做的时候,它说: 导入瓶子导入错误:没有名为“瓶子”的模块

  • 根据您的经验,将大型模块导入组件时的最佳实践是什么。你能从下面的例子中告诉我是什么和原因吗? 或

  • 我在Windows 10上用的是PyCharm 2016.1和Python 2.7,导入了matplotlib模块。 由于matplotlib模块非常广泛,而且我对Python相对陌生,我希望PyCharm中的自动完成功能可以帮助我了解对象的现有属性/功能。这将更方便,因为每次都要查阅api文档,而不知道要查找什么以及在哪里可以找到它。 例如: 当我输入< code>ax时。属性、功能等没有自动完

  • 问题内容: 我正试图将我的大班分成两部分;好吧,基本上是进入“主”类和具有其他功能的mixin的,就像这样: 文件: 文件: 现在,尽管这很好,但类型提示当然不起作用。我无法导入,因为会进行周期性导入,并且没有提示,我的编辑器(PyCharm)无法分辨出什么。 我正在使用Python 3.4,如果那里有解决方案,我愿意移至3.5。 有什么办法可以将我的班级分成两个文件并保留所有“连接”,以便我的I

  • 我试图把我庞大的班级一分为二;好的,基本上分为“main”类和带有附加函数的mixin,如下所示: 文件: 文件: 现在,虽然这很好,但是