Модуль, импортированный в разные области, относятся ли они оба к одному и тому же объекту?Python

Программы на Python
Anonymous
Модуль, импортированный в разные области, относятся ли они оба к одному и тому же объекту?

Сообщение Anonymous »

В консоли Spyder (REPL) я запускаю import matplotlib.pyplot как plt. Это самое верхнее пространство имен, т. е. соответствующее globals().
В файле запуска Spyder я определяю функцию, которая поднимает окна рисунков наверх. >

Код: Выделить всё

def TKraiseCFG( FigID = None ):

import matplotlib.pyplot as plt

% The rest is just context
%-------------------------
plt=globals()['plt']
if FigID is not None: plt.figure( FigID )
cfm = plt.get_current_fig_manager()
cfm.window.attributes('-topmost', True)
cfm.window.attributes('-topmost', False)
return cfm
Ссылается ли plt в TKraiseCFG() на тот же объект, что и plt в REPL?
Дальнейший контекст (не основной вопрос): Я не могу представить консоль/REPL (или даже несколько консолей), использующую более одного matplotlib.pyplot. Но я только знакомлюсь с Python, поэтому могу ошибаться. Однако в случае одного общего matplotlib.pyplot я ищу способ сделать его доступным для всех областей, чтобы я мог писать удобные/служебные функции, такие как TKraiseCFG() (что только что собрал после прочтения разных страниц несколько недель назад). К сожалению, мой текущий метод требует, чтобы код, вызывающий TKraiseCFG(), содержал переменную с именем plt, ссылающуюся на matplotlib.pyplot.

Подробнее здесь: https://stackoverflow.com/questions/787 ... ame-object

Вернуться в «Python»