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
def input(self):
a = 1000
if self.id == ' ':
if Employee.__init_flag == True:
self.id = 1000
Employee.__init_flag = False
return self.id
else:
a = a + 1
self.id = a
return self.id
else:
return self.id
@property
def salary(self):
return self.salary
@salary.setter
def salary(self, salary):
if 1000 < salary < 50000:
self.salary = salary
else:
print('输入错误,薪水只能在1000-50000之间')
p1 = Employee(' ', '周也', 30000)
p2 = Employee(' ', '张子枫', 40000)
print(p1+p2)
print(p2.input())
p3 = Employee(' ', '杨紫', 10000)
print(p3.input())
p4 = Employee(' ', '彭昱畅', -30000)
p4.input()
p4.set_salary()
老师,@property这里不缩进就报错
Traceback (most recent call last):
File "E:\PycharmData\MyPython\MyPy35.py", line 42, in <module>
p1 = Employee(' ', '周也', 30000)
File "E:\PycharmData\MyPython\MyPy35.py", line 8, in __init__
self.salary = salary
File "E:\PycharmData\MyPython\MyPy35.py", line 37, in salary
self.salary = salary
File "E:\PycharmData\MyPython\MyPy35.py", line 37, in salary
self.salary = salary
File "E:\PycharmData\MyPython\MyPy35.py", line 37, in salary
self.salary = salary
[Previous line repeated 993 more times]
File "E:\PycharmData\MyPython\MyPy35.py", line 36, in salary
if 1000 < salary < 50000:
RecursionError: maximum recursion depth exceeded in comparison
但是缩进到首行就不执行了,怎么处理啊,谢谢!