Я знаю стандартный пример: если вы выполняете модуль напрямую, то глобальная переменная __name__
определяется как "__main__"
. Однако нигде в документации я не могу найти точное описание того, как __name__
определяется в общем случае. Документация модуля говорит...
Внутри модуля имя модуля (как строка) доступно как значение глобальной переменной
__name__
.
... но что это означает под названием "имя модуля"? Это просто имя модуля (имя файла с .py
удалено), или оно включает также полное имя пакета?
Как определяется значение переменной __name__
в модуле Python? Для бонусных точек укажите, где именно в исходном коде Python выполняется эта операция.