Подтверждая разницу между import * и from xxx import *

я был удивлен, обнаружив, что

import foo

и

from foo import *

по-разному влияют на глобальные члены. Я хотел подтвердить, что мои эксперименты - правильное поведение.

В первом примере изменение члена в модуле foo отразится на всем коде, импортирующем foo. Однако изменение этого члена в последнем случае, кажется, влияет только на файл, в который он был импортирован. Другими словами, использование более позднего подхода предоставит каждому импортируемому файлу собственную копию членов из foo.

Я хочу иметь доступ к foo.x из всех файлов, иметь возможность изменять его из всех файлов и иметь это изменение, отраженное во всех файлах (настоящий глобальный вариант, если хотите).

12
задан CharlesB 25 February 2013 в 15:23
поделиться