Variable Modifications in a class
Sean Ross
frobozz_electric at hotmail.com
Tue Jun 3 13:32:48 EDT 2003
More information about the Python-list mailing list
Tue Jun 3 13:32:48 EDT 2003
- Previous message (by thread): June 2003: Manhattan Office, Retail and Industrial Space Update
- Next message (by thread): Variable Modifications in a class
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
"Mehta, Anish" <Anish.Mehta at enst-bretagne.fr> wrote in message news:mailman.1054658001.11458.python-list at python.org... > c = b The problem is with this line. c = b makes c an alias for b, so that when you change the value of c's attributes, you are changing the values for b's attributes. So, when you later say > c.a = 30 > c.b = 40 This is *roughly* equivalent to the following: b.a = c.a = 30 b.b = c.b = 40 You see, earlier, when you created b and c with: b = ab() c = ab() you bind two seperate instances of the class ab (which aliases class AB, in your example). But, when you later *re-bind* c to b, there are no longer referrers to two seperate instances, c and b are now bound to the same instance. To see this, put: print c is b after b = ab() c = ab() then put it after c = b an notice the results.
- Previous message (by thread): June 2003: Manhattan Office, Retail and Industrial Space Update
- Next message (by thread): Variable Modifications in a class
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
More information about the Python-list mailing list