正确的__init__定义继承自" list"

时间:2015-05-07 10:27:03

标签: python python-3.x initialization

我试图定义"好方法"我的类的init函数继承自list。这是最基本的代码(我只保留了必要的代码):

class measurementPoint(list) :
    """measurementPoint class : contains all the pairedMeasurement at a given temperature for a given channel"""

    def __init__(self, item):
        try:
            assert isinstance(item,pairedMeasurement)
        except AssertionError:
            print("Wrong type for object " + str(item))
            sys.exit(1)
        super().__init__(self)
        self.append(item)

有没有比super().__init__后跟append更好的初始化此类对象的方法?我想应该有一个,但无法弄清楚如何。

1 个答案:

答案 0 :(得分:1)

您可以将项目作为可迭代项传递给super().__init__

>>> class A(list):
    def __init__(self, item):
        super().__init__([item])
...
>>> a = A(100)
>>> a
[100]