# 售票员卖票 class Driver: _self=None _name= 'Driver_Jack'# 售票员的名字 _num= 0 # 售票员的业绩 def __new__(cls, *args, **kwargs): if cls._self is None :# 如果售票员这个类是空 cls._self=super().__new__(cls) # 将从基类中继承的卖票员的类赋值给售票员类 return cls._self # 返回自己,也就是售票员类 def sell(self,name):# 定义一个出售的类 print(f'司机{self._name}卖给了乘客{name}一张票') #卖的票叠加 self._num+= 1 def getnum(self): return self._num # 打印司机的业绩 class Passenger: def __init__(self,name): self._name= name # 乘客只有一个名字属性 def buy(self):# 乘客定义一个从司机手里买票 p_driver= Driver()# 实例化一个 司机对象 p_driver.sell(self._name)# 调用司机对象,传入乘客的姓名 num_sum=p_driver.getnum() print(num_sum) li=['A','B','C','D'] for one in li: Passenger(one).buy()