Может ли кто-нибудь предложить мне, какой самый пифонический способ импорта модулей в python? Позвольте мне объяснить - я прочитал много кода на Python и нашел несколько разных способов импорта модулей или, если быть более точным, - когда импортировать:
- Используйте один модуль/несколько модулей, которые включают все импортные модули (сторонние модули), которые необходимы для всего проекта, поэтому весь импорт сконцентрирован в нескольких модулях, поэтому легко поддерживать импорт. Когда какой-либо отдельный модуль требует, чтобы какой-либо модуль был импортирован, он запрашивает для него модуль ссылок. Например, в нашем проекте мы разделили уровень с именем "ссылки", поэтому он содержит такие модули, как "system.py" (содержит ссылки на все системные библиотеки), "platform.py" (содержит ссылки на все библиотеки платформ), "devexpress.py '(содержит ссылки на все библиотеки devexpress) и так далее. Эти модули выглядят следующим образом:
- Каждый модуль импортирует все необходимые классы и функции в верхней части модуля - например, есть раздел с импортом в каждом модуле проекта
- Каждая функция/класс использует импорт локально, например, сразу после определения и импортирует только те вещи, которые им действительно нужны.
Пожалуйста, найдите образцы ниже.
1 модуль импорта образцов - только операторы "import" и "from... import..." (без каких-либо методов или классов):
#references.py
import re
import clr
import math
import System
import System.Text.RegularExpressions
import System.Random
import System.Threading
import System.DateTime
# System assemblies
clr.AddReference("System.Core")
clr.AddReference("System.Data")
clr.AddReference("System.Drawing")
...
#test.py
from references.syslibs import (Array, DataTable, OleDbConnection, OleDbDataAdapter,
OleDbCommand, OleDbSchemaGuid)
def get_dict_from_data_table(dataTable):
pass
2 с параметрами "import" и "from... import..." , а также методами и классами:
from ... import ...
from ... import ...
def Generate(param, param1 ...):
pass
3 с операциями "import" и "from... import..." , которые используются внутри методов и классов:
import clr
clr.AddReference("assembly")
from ... import ...
...
def generate_(txt, param1, param2):
from ... import ...
from ... import ...
from ... import ...
if not cond(param1): res = "text"
if not cond(param2): name = "default"
Итак, каков самый пифонический способ импорта модулей в python?