python3中的类和继承

时间:2017-06-15 12:56:28

标签: python-3.5

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']

1 个答案:

答案 0 :(得分:0)

由于您没有定义__init__方法,因此在构建时给出的参数将提供给直接父级,此处为list。当您从可迭代构建列表时,您将获得由不同项组成的列表。所以:

  • 如果l是列表,则list(l)是初始列表的副本
  • 如果s是一个字符串(这是一个可迭代的字符),list(s)是由s
  • 中的字符组成的列表