单例 仅一个司机售票
# 单例 司机只有一个 class Driver: _self=None _name = "Driver Jack" # 司机的姓名 _num = 0 # 司机的业绩 初始值是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}") # 卖票后 业绩加1 self._num+= 1 # 定义 动作打印业绩 def getnum(self): yeji=self._num print(f"司机的业绩是{yeji}") # 定义乘客 class Passenger: # 乘客的属性 def __init__(self,name):# 乘客的属性是姓名 self._name= name # 乘客的动作 def buy(self):# 乘客从司机那里买票 bug_tik=Driver() bug_tik.sell(self._name)# 调用司机的售票动作 传入乘客的姓名 #打印业绩 bug_tik.getnum() # 调用定义的类 获取当前司机的业绩 Passenger("A").buy() Passenger("B").buy() Passenger("C").buy()