Возможный дубликат:
Должен ли я использовать "из пакетов импорта, настроек" или "из. Import utils, settings",
Каковы рекомендации по выбору между следующим при импорте из стандартной библиотеки python?:
import foo
from foo import bar
Каковы соображения? Является ли это следностью? Или просто потенциальное имя?
Если модуль имел минимальную обработку строк, будет ли это слишком далеко?
from string import split
Если программа имеет несколько модулей, будут ли результаты импорта, сделанные одним модулем, доступными для последующих модулей в программе?
Если импортированный модуль требуется только в холодном коде, считается ли он хорошей формой, чтобы этот импорт был похоронен внутри логического блока, содержащего холодный код?
Если вы используете pyflakes, он будет жаловаться, если вы не используете вещи, которые вы импортировали.
Я нахожу, если мне нужны только одна или две функции/классы, то я их импортирую напрямую: если мне нужны партии, я могу просто использовать версию с foo.bar
(foo.bar
).
Стоимость. lookups, поэтому, если у вас их было много в вложенном цикле, может быть лучше импортировать функцию напрямую, или вы можете перекрыть функцию локальному имени.
import foo
def bar(baz):
for qux in baz:
for i in range(100000):
foo.bar(qux, i)
Чтобы сократить время поиска:
import foo
def bar:
foo_bar = foo.bar
for qux in baz:
for i in range(100000):
foo_bar(qux, i)