Хотя остальные ответы в основном правильные, есть причина, по которой Python допускает это.
Не разумно импортировать ненужные вещи, которые не нужны. Итак, если вы хотите, например, разбирать XML на дерево элементов, но вы не хотите использовать медленный встроенный синтаксический анализатор XML, если доступен lxml, вам нужно будет проверить это в тот момент, когда вам нужно вызвать синтаксический анализатор.
И вместо того, чтобы запоминать доступность lxml в начале, я бы предпочел try
импортировать и использовать lxml
, except
, его там нет, и в этом случае я бы отступил на встроенный модуль xml
.