Так интерпретатор сделали. При импорте модуля сразу происходит его выполнение. Думаю это для всяких условных объявлений функций и метапрограммирования. Пока инициализация не выполнится, функция в пространство имен не попадает. Можно в PEP или в доке поискать подробности.