Это просто неправильно. Вы не можете (осмысленно) предоставить изменяемый объект в качестве значения по умолчанию в объявлении функции.
class A(object):
def __init__(self, var=[]):
self._var = var
print 'var = %s %s' % (var, id(var))
Вы должны сделать что-то подобное.
class A(object):
def __init__(self, var=None):
self._var = var if var is not None else []
print 'var = %s %s' % (var, id(var))