SIngleton from __defaults__
Johannes Schneider
johannes.schneider at galileo-press.de
Thu Jan 23 08:36:17 EST 2014
On 22.01.2014 20:18, Ned Batchelder wrote:
> On 1/22/14 11:37 AM, Asaf Las wrote:
> Chris is right here, too: modules are themselves singletons, no matter
> how many times you import them, they are only executed once, and the
> same module object is provided for each import.
I'm not sure, if this is the whole truth.
think about this example:
cat bla.py
a = 10
cat foo.py
from bla import a
def stuff():
return a
cat bar.py
from foo import stuff
print stuff()
a = 5
print stuff()
from bla import *
print a
python bar.py
10
10
10
here the a is coming from bla and is known in the global namespace. But
the value differs in stuff() and before/after the import statement. So
the instance of the module differs -> it cannot be a singelton.
bg,
Johannes
--
Johannes Schneider
Webentwicklung
johannes.schneider at galileo-press.de
Tel.: +49.228.42150.xxx
Galileo Press GmbH
Rheinwerkallee 4 - 53227 Bonn - Germany
Tel.: +49.228.42.150.0 (Zentrale) .77 (Fax)
http://www.galileo-press.de/
Geschäftsführer: Tomas Wehren, Ralf Kaulisch, Rainer Kaltenecker
HRB 8363 Amtsgericht Bonn
More information about the Python-list
mailing list