from foo import bar импортирует только конкретный объект bar из модуля foo. Этот объект становится доступным по имени bar.
from foo import * импортирует все публичные имена из модуля foo. Все эти имена становятся доступными в текущем пространстве имен без префикса foo.. Публичными считаются имена, не начинающиеся с нижнего подчеркивания (_), если только не определен список __all__.
python
python
Разница:
from foo import bar: Точный контроль над импортируемыми объектами, меньше вероятность конфликтов имен.from foo import *: Импортирует все, удобно для интерактивных сессий или небольших скриптов, но небезопасно в больших проектах из-за возможного перезатирания имен и затруднения отслеживания происхождения объектов.Считается плохой практикой использовать from foo import * в продакшн-коде, за исключением случаев, когда модуль явно предназначен для такого импорта (например, UI-фреймворки).