当前位置: 首页 > 后端技术 > Python

python-object-oriented-15-propertydecorator-getandset方法

时间:2023-03-26 19:17:31 Python

1.@property装饰器@property可以将一个方法的调用方式变成“属性调用”。下面是一个简单的例子,让您体验一下这种转变。示例代码:classEmployee:@propertydefsalary(self):return30000emp1=Employee()print(emp1.salary)print(type(emp1.salary))emp1.salary()运行结果:Traceback(最近调用最后一次):File"test.py",line11,inemp1.salary()TypeError:'int'objectisnotcallable30000代码说明:首先,实例方法salaly被@property修饰,从普通的实例方法变成通过“实例属性”调用的特殊实例方法。使用print(emp1.salary),本质是调用对象emp1的salary实例方法,返回值为30000,所以第一次打印30000.30000是一个int类型的值,所以使用type函数显示使用普通调用方式调用装饰器@property装饰的方法,结果报错,说明实例方法一旦被装饰器@property装饰,就不能再被object的方法调用姓名。实例方法名称([参数列表])。2.get和set方法2.1普通意义上的get和set方法示例代码:.__salarydefset_salary(self,salary):if1000