Я динамически определяю функции в модуле, а затем обновляю атрибут __all__
модуля и функции __name__
, чтобы они соответствовали имени, которое она будет иметь внутри модуля. Мне было интересно, стоит ли обновлять атрибут __module__
функции, а также указывать на модуль, в котором будет находиться функция. В документах говорится, что __module__
— это:
Имя модуля, в котором была определена функция, или None, если он недоступен.
Код, который создает функцию, находится в другом модуле, который почти не связан с модулем, в котором находится функция. В этом модуле нет ссылки на функцию.
Я кое-что покопался в списке рассылки, но немного запутался в том, какова семантика __module__
и следует ли установить для нее значение None или модуль, в котором находится функция, или модуль, в котором находится код, создавший функцию. Собираюсь оставить это сейчас, но мне интересно посмотреть, знает ли кто-нибудь ответ.