Мое общее правило: если я не написал модуль, я не импортирую его все. Больше всего я боюсь писать локальные переменные, которые могли быть определены в импортированном модуле. Поэтому, чтобы избежать необходимости вводить длинные имена модулей, я использую импорт как функцию. Используя ваш модуль в качестве примера, я бы сделал следующее:
import PyQt4.QtCore as qt
При этом у меня есть много вспомогательных модулей, которые я пишу, чтобы импортировать все. Как и модуль pyqt, я называю их описательным именем, которое помогает показать, из какого модуля он поступил.
Редактировать за комментарий
Когда я использую импорт *, мои модули поддержки не содержат классов или чего-либо, что может создать новый экземпляр. Они, как правило, представляют собой группы функций, которые модифицируют только существующие экземпляры. Чтобы уточнить мое мнение: если я являюсь владельцем исходного кода и буду основным сопровождающим, я буду использовать импорт *, иначе я бы использовал импорт как.
Другая причина, по которой я использую функцию импорта в качестве функции, - это возможность макетировать модули для целей отладки. В проекте, над которым я сейчас работаю, я использую pyVisa для общения с несколькими устройствами GPIB. Когда я не подключен к сети GPIB устройств, я могу использовать модуль dummy_visa для записи в стандартный вывод (чтобы убедиться, что я отправляю правильный формат) и вернуть случайное число (для проверки моего приложения). Смотри ниже
if visa_debug:
import dummy_visa as visa
else:
import visa
gpib = visa.Instrument("GPIB0::10")
gpib.write("MEAS:VOLT?")