Python «import» загружает модуль Python в свое собственное пространство имен, так что вам нужно добавить имя модуля, за которым следует точка перед ссылками на любые имена из импортированного модуля
import animals
animals.Elephant()
"from" загружает модуль Python в текущее пространство имен, так что вы можете обращаться к нему без необходимости повторного упоминания имени модуля
from animals import Elephant
Elephant()
или
from animals import *
Elephant()
использование from - это хорошо, (но использование импорта с подстановочными знаками обескураживает). но если у вас большой масштабный проект, импорт из разных модулей может привести к конфликтам именования. Подобно тому, как импорт функции Elephant () из двух различных модулей вызовет проблемы (например, при использовании импорта по шаблону с *)
Итак, если у вас есть крупномасштабный проект, в который вы импортируете много разных вещей из других модулей, лучше использовать импорт и использовать импортированные вещи с module_name.your_class_or_function . В противном случае используйте из записи ...