Допустим, я разрабатываю библиотеку, и она находится в файле lib.py
.Кто-то, использующий его, затем:
from lib import A, B
A('hey why dont you give me x, y, and z?')
B(x, y, z)
Я хочу включить использование переменных x
, y
, z
, как если бы они были в глобальной области видимости после выполнения A
.
Поскольку A
находится в другом модуле, у него есть собственная таблица символов , поэтому изменение globals()
не работает.Лучшее, что у меня есть, - это создание общего конфигурационного модуля , тогда это выглядит так:
from lib import A, B
A('hey why dont you give me x, y, and z?')
from config import x, y, z
B(x, y, z)
Это не выглядит красиво, но приемлемо, если нетмного переменных для импорта.Есть ли способ обойти это?