Please don't fake interpreter sessions, was Re: Can't do a multiline assignment!
Peter Otten
__peter__ at web.de
Thu Apr 17 13:43:06 EDT 2008
Michael Torrie wrote:
That's not how Python actually works:
> >>> a=myclass(3)
> >>> b=myclass(6)
> >>> a.classvar1=9
> >>> a.classvar1
> 9
> >>> b.classvar1
> 9
What actually happens is that the a.classvar1 = 9 assignment creates an
instance variable that shades the classvar:
>>> class A(object):
... alpha = 1
...
>>> a = A()
>>> b = A()
>>> a.alpha = "something else"
>>> a.alpha
'something else'
>>> b.alpha
1
So everything works as expected (until you start modifying mutable
classvars).
Peter
More information about the Python-list
mailing list