同一类型/类别的对象是否可能具有不同的数据属性?

时间:2018-11-17 12:32:03

标签: python class

对不起,标题似乎有点不准确。

我想知道是否有办法确保对象的每个实例都可以具有唯一的序列号?

class Airplane:
    def __init__(self, name, passenger_hold):
        self.name = name
        self.passenger_hold = passenger_hold

airplane1 = Airplane("Airbus A320", 100)
airplane2 = Airplane("Boeing 747", 250)

如何确定第一架飞机的序列号为0,第二架飞机的序列号为依此类推?

1 个答案:

答案 0 :(得分:1)

使用类内部的全局计数器,该全局计数器将在每次调用构造函数时为您提供一个新值。

class Airplane:
    counter = 0

    def __init__(self, name, passenger_hold):
        self.name = name
        self.passenger_hold = passenger_hold
        self.serial = Airplane.counter
        Airplane.counter += 1