class Myclass(list):
def remove_max(self):
self.remove(max(self))
l = [1,2,3]
object = Myclass(l)
object.remove_max()
print(object)
从类列表继承的Myclass中的为什么Myclass(l)为对象赋值[1,2,3]? 即使我们给它一个字符串说'abc'而不是list l作为输入,为什么对象的值设置为列表['a'。 'B']
答案 0 :(得分:0)
由于您没有定义__init__
方法,因此在构建时给出的参数将提供给直接父级,此处为list
。当您从可迭代构建列表时,您将获得由不同项组成的列表。所以:
l
是列表,则list(l)
是初始列表的副本s
是一个字符串(这是一个可迭代的字符),list(s)
是由s