1class Base1: 2 def __init__(self, *args): 3 print("Base1.__init__", args) 4 5class Clist1(Base1, list): 6 pass 7 8a = Clist1() 9print(len(a)) 10# Not compliant - list assignment should happen in list.__init__, which is not called 11# because there's Base1.__init__, but we assign in list.__new__ 12#a = Clist1([1, 2, 3]) 13#print(len(a)) 14 15print("---") 16 17class Clist2(list, Base1): 18 pass 19 20# Not compliant - should call list.__init__, but we don't have it 21#a = Clist2() 22#print(len(a)) 23 24# Not compliant - should call list.__init__, but we don't have it 25#a = Clist2([1, 2, 3]) 26#print(len(a)) 27