On Mon, Dec 8, 2008 at 11:44 PM, John Machin <[EMAIL PROTECTED]> wrote:

> On Dec 9, 3:36 pm, Matimus <[EMAIL PROTECTED]> wrote:
> > On Dec 8, 8:08 pm, Roy Smith <[EMAIL PROTECTED]> wrote:
> >
> > > I've got a class with a class variable:
> >
> > > class Foo:
> > >    _map = {}
> >
> > > How do I make sure this only gets initialized the *first* time the
> > > module containing the class is imported?  What appears to be happening
> > > as it stands is each time the module gets imported, Foo._map get re-
> > > initialized.
> >
> > Unless you are calling reload() on the module, it will only ever get
> > _loaded_ once. Each additional import will just yield the existing
> > module. Perhaps if you post an example of the behavior that leads you
> > to believe that the class variables are getting reinitialized
>
> and change it to
>   class Foo(object):
> because we care little about old-style classes these days


unless the OP is using Python 3 in which case that would be redundant. This
is going to be really confusing unless every poster lists their python
version.



>
> and put a print statement in the module just before the class
> statement and print statements before and after each import statement
> so that we can see what is happening.
> --
> http://mail.python.org/mailman/listinfo/python-list
>
--
http://mail.python.org/mailman/listinfo/python-list

Reply via email to