2024-06-01 05:22:29 发布
网友
这是有效的:
class customList(list): def __init__(self, liste): list.__init__(self, liste) myList = customList([4])
这不会:
我已经读过子类化UserList比子类化list中的构建更好,因为后者的行为未知,但是当从UserList子类化时,我应该如何在我的__init__中启动列表?在
UserList
list
__init__
您应该使用UserList的构造函数来初始化它,而不是list的构造函数:
class customList(UserList): def __init__(self, liste): super().__init__(liste)
UserList是其内部data参数的包装器。在
data
from collections import UserList class customList(UserList): def __init__(self, liste): self.data = liste myList = customList([4]) print(myList) # [4] myList.append(5) print(myList) # [4, 5]
您可能希望使用UserList而不是list作为基类的主要原因是将底层列表作为属性访问,只有当您出于某种原因想重新分配它时,这才是真正重要的。在
您应该使用
UserList
的构造函数来初始化它,而不是list
的构造函数:UserList是其内部
data
参数的包装器。在您可能希望使用UserList而不是list作为基类的主要原因是将底层列表作为属性访问,只有当您出于某种原因想重新分配它时,这才是真正重要的。在
相关问题 更多 >
编程相关推荐