Импорт модуля и импорт класса или перечисления из того же модуля

#python #import

#python #импорт

Вопрос:

 from x.y import SomeEnum
from x import y
 

SomeEnum является перечислением
y здесь имя модуля, в котором SomeEnum определено.

Основная причина для выполнения такого рода импорта заключается в том, что я не хочу длинных имен при доступе к чему-либо из SomeEnum

Является ли хорошей практикой такой импорт?

Комментарии:

1. Просто поместите это ` from x.y import SomeEnum` в init.py модуля x, если вы хотите игнорировать ввод этого импорта в каждом скрипте. Все остальное просто отлично

2. Я использую python3.8. Я думаю init.py больше не требуется. Я также не хочу использовать отдельный файл

3. @AdnanAhmed __init__.py

4. @Praburaj не требуется, но иногда может быть полезным

5. Да, правильно. Я не хочу использовать init.py досье. Я не пытаюсь избежать импорта. Просто хотел узнать, что все, что я упомянул в вопросе, является хорошей практикой?

Ответ №1:

Да, вы можете это сделать. Для этого нет такого жесткого и быстрого правила. Однако убедитесь, что вы знаете разницу между

 import foo
 

и

 from foo import bar
 

Во втором случае один бар попадает в область импортирующего модуля.
Вот ссылка, она поможет вам понять разницу
https://realpython.com/python-import /
.