Here is a bit of code:

class A:
    def __init__(self, l=[]):
        self.l = l

class B:
    def __init__(self):
        self.l = []

a1 = A()
a2 = A()

b1 = B()
b2 = B()

a1.l += ['a1']
a2.l += ['a2']
b1.l += ['b1']
b2.l += ['b2']

print 'a1:', a1.__dict__, '0x%08x' % abs(id(a1.l))
print 'a2:', a2.__dict__, '0x%08x' % abs(id(a2.l))
print 'b1:', b1.__dict__, '0x%08x' % abs(id(b1.l))
print 'b2:', b2.__dict__, '0x%08x' % abs(id(b2.l))

That gives:
a1: {'l': ['a1', 'a2']} 0x484db114
a2: {'l': ['a1', 'a2']} 0x484db114
b1: {'l': ['b1']} 0x484db174
b2: {'l': ['b2']} 0x484db2d4

This behaviour seems a bit strange, clearly list is class A is the same 
objects for both instances and I'm wondering if this is correct?

Duncan

-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2008.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________
Freevo-devel mailing list
Freevo-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/freevo-devel

Reply via email to