# 单例 司机只有一个
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()