Нет. Допустим, ваш файл называется foo.py
. Когда ваш модуль импортируется, для foo
создается новое глобальное пространство имен, которое содержит (среди прочего) три имени:
math
, что относится к модулю math
. my_func
, который относится к вашей функции a
, который относится к 1
Где вызывается ваша функция, на самом деле не имеет значения. Если my_func
содержит какие-либо свободные переменные, они будут всегда ссылаться на глобальное пространство имен foo
, а не на пространство имен, в котором оно вызывается.
Модуль math
имеет собственное глобальное пространство имен. («Глобальный» на самом деле не очень хороший термин; у каждого модуля есть свое собственное пространство имен на уровне модуля.)
Единственное «глобальное» пространство имен в Python - это встроенное пространство имен, доступное из все модули.