该
list类型通常在其
__init__()方法内进行列表的实际初始化,因为这是可变类型的约定。
__new__()子类型化不可变类型时,只需要覆盖即可。虽然
可以
__new__()在对列表进行子分类时覆盖,但对于您的用例而言,这样做没有多大意义。覆盖比较容易
__init__():
class MyList(list): def __init__(self, *args): list.__init__(self, *args) self.append('FirstMen') self.name = 'Westeros'
另请注意,
super()在这种情况下,建议不要使用。您想在
list.__init__()这里打电话,别无其他。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)