namensräume in der python shell

05/07/2009 - 14:42 von Jan-Herbert Damm | Report spam
Hallo zusammen,

Beim Lernen von Namensràumen hat sich folgende Frage aufgetan:

zit Lutz,Ascher in o'reilly:
" ... auch interaktiv erzeugte namen existieren in einem Modul [__main__] und
befolgen daher die normalen Gültigkeitsregeln."

aber was ist dann mit importen?

jan@herb:~/Pythonzeugs$ cat namensraum.py
test = "esistdasmodul"
print test
jan@herb:~/Pythonzeugs$ python



test = "esistdieshell"
test






'esistdieshell'



import namensraum






esistdasmodul



test






'esistdieshell'

wird die variable aus dem importierten modul nicht in den globalen namensraum
aufgenommen?

warum "gewinnt" hier die shell, bzw. was passiert eigentlich genau?

danke für einen hinweis

jan
 

Lesen sie die antworten

#1 mblume
05/07/2009 - 14:52 | Warnen spam
Am Sun, 05 Jul 2009 12:42:35 +0000 schrieb Jan-Herbert Damm:

Beim Lernen von Namensràumen hat sich folgende Frage aufgetan:

zit Lutz,Ascher in o'reilly:
" ... auch interaktiv erzeugte namen existieren in einem Modul
[__main__] und befolgen daher die normalen Gültigkeitsregeln."

aber was ist dann mit importen?

:~/Pythonzeugs$ cat namensraum.py test = "esistdasmodul"
print test
:~/Pythonzeugs$ python
test = "esistdieshell"
test






'esistdieshell'
import namensraum






esistdasmodul
test






'esistdieshell'

wird die variable aus dem importierten modul nicht in den globalen
namensraum aufgenommen?

warum "gewinnt" hier die shell, bzw. was passiert eigentlich genau?

danke für einen hinweis

jan



Gib mal
print test
print namensraum.test


ein.
Stell Dir die Frage, in welchem Namensraum das Modul namensraum.py
die Variable test sucht.

Fàllt der Groschen?

Gruss
Martin

Ähnliche fragen