newbie class question

Mike Meyer mwm at mired.org
Wed Nov 23 23:48:09 CET 2005


vida00 at gmail.com writes:
> Sorry folks, this is what I meant:
>
>>>> class heh(object):
> ...     def __init__(self):
> ...         self.foo='hello'
> ...     def change(self):
> ...         self.foo+=' world'
> ...     def show(self):
> ...         return self.foo
> ...
> ...     class hih(object):
> ...         def show(self):
> ...             return heh().foo
> ...
>>>> x=heh()
>>>> print x.hih().show()
> hello
>>>> x.change()
>>>> print x.show()
> hello world
>>>> print x.hih().show()
> hello
>
> I want that last one to print 'hello world'

You create a new heh in hih.show, so it's going to get the class
variable. You need to use a class variable. Change the first four
lines of heh to :

          foo = 'hello'
          def change(self):
              heh.foo = hee.foo + ' world'

And that should do it.

    <mike
-- 
Mike Meyer <mwm at mired.org>			http://www.mired.org/home/mwm/
Independent WWW/Perforce/FreeBSD/Unix consultant, email for more information.



More information about the Python-list mailing list