↓の結果は、
class A(object):
def __init__(self, fields=[]):
self.fields = fields
print "A:", self.fields

class B(A):
def __init__(self):
A.__init__(self)
self.fields.append("A")
print "B:", self.fields

b = B()
b = B()

↓になると思ったのですが、実際は
A: []
B: ['A']
A: []
B: ['A']

↓になります。
A: []
B: ['A']
A: ['A']
B: ['A', 'A']

これは正しい動作なのでしょうか??