class Employee:
__init_flag=True
def __init__(self,id,name,salary):
self.id = id
self.name=name
self.__salary=salary
def __add__(self, other): #+运算符重载
if isinstance(other,Employee):
return self.__salary+other.__salary #两个对象相加时,返回薪水和
else:
print('两个雇员不属于一个公司,不能相加')
@property
def salary(self):
return self.__salary
@salary.setter
def salary(self,salary):
if (1000<salary<50000): #限制薪水范围
self.__salary=salary
else:
print('薪水录入错误,请重新录入')
def input(self):
d=1000
if self.id=='': #当不输入id时
if Employee.__init_flag:
self.id=1000 #给第一个员工id为1000
Employee.__init_flag=False
return self.id
else:
d+=1 #给第二个员工及之后的员工id加1
self.id=d
return self.id
else: #当输入id时
return self.id
e3=Employee('','小李',5500)
e4=Employee('','小刘',38000)
print(e3.input())
print(e4.input()) #当不输入id时,雇员id依次递增
e1=Employee(1007,'小王',4500)
e2=Employee(1008,'小张',6000)
print(e1+e2) #两个雇员相加时,返回薪水和
e5=Employee(1009,'小蒙',-900)
print(e5.salary)
运算结果e5.salary是负值:-900,为什么不是判断“薪水录入错误,请重新录入”,我看到提问区有个小伙伴的问题跟我一样,但是老师的回答没看懂,麻烦老师解答,谢谢