[英]how can I define python class with list attribute and the class constructor that accept variable arguments?
如何将 python 属性定义为 class? 我想定义一个 Python class 来实例化列表类型的对象。 我可以使用__init__
和 class 方法来做到这一点,但我正在寻找一种避免使用方法的方法。 第二个问题是我想知道是否可以使用接受变量 arguments 的构造函数定义 class (例如,使用此 class 实例化具有不同索引数的对象([4,5,6] ,4,7])。我在下面复制了我的代码。感谢您的帮助:)
class SuperList(list):
def __init__(self, a, b, c):
self.a = a
self.b = b
self.c = c
def My_list(self):
return [self.a, self.b, self.c]
obj1 = SuperList(1, 2, 3)
List1 = obj1.My_list()
List1.append(8)
print(List1)
我不确定您要使用“类生成列表”实现什么目标,但可以在下面找到一个示例,该示例可能会让您更好地理解。
当您从list
继承时,只需执行以下操作,您将拥有一个自定义列表实现:
class SuperList(list):
def __init__(self, *args):
super().__init__(args)
list1 = SuperList(1, 2, 3)
list1.append(8)
print(list1)
list2 = SuperList(1, 2, 3, 7, 8, 9)
list2.append(999)
print(list2)
class SuperList(list):
def __init__(self,*a):
self.myList = list(a)
def My_list(self):
return self.myList
这适用于多个参数
obj1 = SuperList(1, 2, 54, 3)
print(obj1.My_list())
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.