[Python-de] Namensräume und globale variablen

Diez B. Roggisch deets at web.de
Son Apr 2 14:51:34 CEST 2006


>
> Wo liegt mein Fehler?
> Warum ist die globale variable nicht in test1.py gesetzt? wie kann ich
> es ändern?

from foo import *

ist das Problem. Damit wird der Wert einer variable bar aus foo im _lokalen_ 
Namensraum des importierenden Moduls unter dem Namen bar angelegt. Du 
manipulierts also

importer.bar

und nicht

foo.bar

Lösung: from import * nicht benutzen - besser zb

import langermodulnamedermichnervt as m

Diez