目录
@property 装饰器
@property可以将一个方法的调用方式变成”属性调用”;
#测试@property 最简化使用
class Employee:
@property #把一个方法的调用变成属性的调用
def salary(self):
return 30000
e = Employee()
# print(e.salary)
#@property装饰器的用法
class Employee1:
def __init__(self,name,salary):
self.__name = name
self.__salary = salary
@property
def salary(self):
return self.__salary
@salary.setter
def salary(self,salary):
if 1000 < salary < 5000:
self.__salary = salary
else:
print("录入错误,薪水必须在1000到5000之间")
'''
def ger_salary(self):
return self.__salary
def set_salary(self,salary):
if 1000<salary<5000:
self.__salary = salary
else:
print("录入错误,薪水必须在1000到5000之间")
'''
emp1 = Employee1("张三",2000)
# print(emp1.ger_salary())
# emp1.set_salary(4000)
# print(emp1.ger_salary)
print(emp1.salary)
emp1.salary = 3000
print(emp1.salary)
输出:
D:\wwwroot\pyiteam\venv\Scripts\python.exe D:/wwwroot/pyiteam/mypro_obj/mypy02.py
2000
3000
Process finished with exit code 0