[Python-Dev] Constructor bug
Oliver Walczak
oliver.walczak at momatec.de
Mon Nov 22 08:29:17 CET 2004
Dear List,
recently i got stuck on a strange class initialization bug. Please refer the
sample attached for a demonstration and watch what happens to d2 in the
second class instance.
This only works on dictionaries. Any other types initialized outside of
__init__ seem to work perfectly.
So, is it a bug or a feature? In my eyes this behaviour is not what the
programmer has got to expect. Who knows whats happening there and can
explain me if it makes any sense?
Best regards
Oliver
-------------- next part --------------
#!/usr/bin/python
# -*- coding: iso-8859-1 -*-
class test:
d1 = {'key':'value'}
def __init__(self):
self.d2 = {'key':'value'}
def Show(self):
print 'd1=',self.d1
print 'd2=',self.d2
c1 = test()
print 'c1, before:'
c1.Show()
c1.d1['key'] = 'value2'
c1.d2['key'] = 'value2'
print 'c1, after:'
c1.Show()
c2 = test()
print 'c2:'
c2.Show()
More information about the Python-Dev
mailing list