>>> def f(a): ... return 5 ... >>> class A(list): ... g = f ... def __new__(cls): ... c = list.__new__(cls, [1, 2]) ... c.g() ... return c ... >>> a = A() >>> a [] Why is an empty list returned?