Автоматический импорт Pycharm не следует передовой практике? - PullRequest
0 голосов
/ 10 апреля 2019

Недавно мы поговорили об удалении любого циклического импорта, который у нас может быть, и о рефакторинге нашего кода, чтобы больше не использовать импорт внутри функций.

Одним из способов, который рекомендуется для этого во многих местах (включая руководство по стилю PEP-8 здесь - при импорте), является использование:

import a 
a.foo()

вместоиз:

from a import foo
foo()

Я видел несколько примеров и убедился, что это, вероятно, лучший способ выполнить импорт (хотя я привык к способу импорта from).

Но я не понимаю, почему 99% примеров Python не используют этот способ импорта.И почему мой pycharm не разрешает автоматический импорт таким образом (или это так?), Если это правильный способ импорта.

Изучая конфигурации pycharm, я не нашел способа автоматического заполнения import y.x вместо from y import x

1 Ответ

1 голос
/ 10 апреля 2019

Вы не можете использовать import x вместо from y import x.Вы должны использовать import x.y, если y является подмодулем, или import x; a = x.y, если y является переменной (класс, функция, константа ...)
Чтобы Pycharm автоматически заполнял имя корневого модуля, вынеобходимо начать вводить имя корневого модуля вместо того подэлемента, который вы хотите использовать.
Например, если вы хотите использовать функцию split для os.path, если вы начнете вводить split и затем нажметеdouble CTRL-SPACE, Pycharm автоматически импортирует с from os.path import split.Но если вы начнете набирать os, Pycharm автоматически завершит с import os, и вы можете закончить свое утверждение с помощью .path.split

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...