Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.lang.python > #64666
| Date | 2014-01-24 09:20 +0100 |
|---|---|
| From | Johannes Schneider <johannes.schneider@galileo-press.de> |
| Subject | Re: SIngleton from __defaults__ |
| References | (2 earlier) <d4053869-c668-4b5d-8e58-25b3650307df@googlegroups.com> <lbp5hf$vjs$1@ger.gmane.org> <52E11AD1.4080305@galileo-press.de> <lbrhf2$d4u$1@ger.gmane.org> <lbsb0u$7eq$1@ger.gmane.org> |
| Newsgroups | comp.lang.python |
| Message-ID | <mailman.5931.1390551625.18130.python-list@python.org> (permalink) |
thnx guys. On 24.01.2014 01:10, Terry Reedy wrote: >> Johannes Schneider <johannes.schneider@galileo-press.de> Wrote in >> message: >>> 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 > > This makes a a global in foo, bound to 10 > >>> def stuff(): >>> return a > > This a refers to the global a in foo. > >>> cat bar.py >>> from foo import stuff >>> print stuff() >>> a = 5 > > This bar.a is irrelevant to the behavior of stuff. > >>> print stuff() >>> >>> from bla import * >>> print a >>> >>> python bar.py >>> 10 > > foo.a == 10 > >>> 10 > > foo.a == 10 > >>> 10 > > bla.a == 10 > >>> here the a is coming from bla > > Twice > > and is known in the global namespace. > > There is no global namespace outside of modules. > >>> the value differs in stuff() > > No it does not. > > and before/after the import statement. > > foo.a does not change. bar.a is never used. > >>> So the instance of the module differs > > Nope. Each of the three module instances is constant. The bindings > within each could change, but there are no rebinding in the code above. > -- Johannes Schneider Webentwicklung johannes.schneider@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
Back to comp.lang.python | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread
SIngleton from __defaults__ Asaf Las <roegltd@gmail.com> - 2014-01-22 08:07 -0800
Re: SIngleton from __defaults__ Chris Angelico <rosuav@gmail.com> - 2014-01-23 03:18 +1100
Re: SIngleton from __defaults__ Asaf Las <roegltd@gmail.com> - 2014-01-22 08:37 -0800
Re: SIngleton from __defaults__ 88888 Dihedral <dihedral88888@gmail.com> - 2014-01-22 09:23 -0800
Re: SIngleton from __defaults__ Ned Batchelder <ned@nedbatchelder.com> - 2014-01-22 14:18 -0500
Re: SIngleton from __defaults__ Asaf Las <roegltd@gmail.com> - 2014-01-22 11:52 -0800
Re: SIngleton from __defaults__ Johannes Schneider <johannes.schneider@galileo-press.de> - 2014-01-23 14:36 +0100
Re: SIngleton from __defaults__ Dave Angel <davea@davea.name> - 2014-01-23 11:56 -0500
Re: SIngleton from __defaults__ Terry Reedy <tjreedy@udel.edu> - 2014-01-23 19:10 -0500
Re: SIngleton from __defaults__ Johannes Schneider <johannes.schneider@galileo-press.de> - 2014-01-24 09:20 +0100
Re: SIngleton from __defaults__ Asaf Las <roegltd@gmail.com> - 2014-01-22 13:10 -0800
Re: SIngleton from __defaults__ Asaf Las <roegltd@gmail.com> - 2014-01-22 14:34 -0800
csiph-web