Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.python > #86270

Re: Best practice: Sharing object between different objects

Date 2015-02-23 14:10 -0700
From Michael Torrie <torriem@gmail.com>
Subject Re: Best practice: Sharing object between different objects
References <aacac55a-6779-4ad3-96f4-5332ff36a365@googlegroups.com> <mcfqeb$5tb$1@dont-email.me> <mailman.19095.1424717125.18130.python-list@python.org> <ac52606e-f85f-4e94-8dac-6556e28821be@googlegroups.com>
Newsgroups comp.lang.python
Message-ID <mailman.19102.1424725814.18130.python-list@python.org> (permalink)

Show all headers | View raw


On 02/23/2015 01:02 PM, sohcahtoa82@gmail.com wrote:
> That behavior always trips me up.  My intuition tells me that every
> time you import a module, it re-runs the code in the module.  So if I
> had a simple module named myModule.py that had a single line with
> `myInt = 1`, then I would *EXPECT* this behavior:

Basically your intuition is wrong, but I'm not really sure why you think
this in the first place, especially if you're familiar with design
patterns.  A module is a singleton.  Plain and simple.  If you expect a
module to reinstantiate something every time you import it, then what
you want is a class, not a module.

Even if you think of modules like C header files, as far as use goes,
you wouldn't be too far wrong.  Generally speaking header files are
processed only once no matter how many times they are included (at least
the common ones with #ifdef fences in them).

I can see how coming from PHP would trip you up, though.  Of course I
never got the hang of include vs include_once vs require vs require_once.

Back to comp.lang.python | Previous | NextPrevious in thread | Next in thread | Find similar | Unroll thread


Thread

Best practice: Sharing object between different objects pfranken85@gmail.com - 2015-02-21 04:15 -0800
  Re: Best practice: Sharing object between different objects Dave Angel <davea@davea.name> - 2015-02-21 09:28 -0500
  Re: Best practice: Sharing object between different objects Paul Rubin <no.email@nospam.invalid> - 2015-02-21 09:18 -0800
  Re: Best practice: Sharing object between different objects Rob Gaddi <rgaddi@technologyhighland.invalid> - 2015-02-23 18:10 +0000
    Re: Best practice: Sharing object between different objects Michael Torrie <torriem@gmail.com> - 2015-02-23 11:36 -0700
      Re: Best practice: Sharing object between different objects sohcahtoa82@gmail.com - 2015-02-23 12:02 -0800
        Re: Best practice: Sharing object between different objects Mark Lawrence <breamoreboy@yahoo.co.uk> - 2015-02-23 20:13 +0000
        Re: Best practice: Sharing object between different objects Ian Kelly <ian.g.kelly@gmail.com> - 2015-02-23 13:39 -0700
        Re: Best practice: Sharing object between different objects Michael Torrie <torriem@gmail.com> - 2015-02-23 14:10 -0700
        Re: Best practice: Sharing object between different objects Chris Angelico <rosuav@gmail.com> - 2015-02-24 11:14 +1100

csiph-web