Python中property的使用方式是怎样的,如何做
这篇文章主要讲解了“Python中property的使用方式是怎样的,如何做”,文中的讲解内容简单、清晰、详细,对大家学习或是工作可能会有一定的帮助,希望大家阅读完这篇文章能有所收获。下面就请大家跟着小编的思路一起来学习一下吧。
现在大家对于Python中property的使用方式是怎样的,如何做的内容应该都有一定的认识了吧,希望这篇能对大家有所帮助。最后,想要了解更多,欢迎关注博信,博信将为大家推送更多相关的文章。
property是一个类,可以把一个方法当做属性进行使用,这样做可以简化代码使用。
实际上就是装饰类中属性的getter setter方法,使得属性可以通过 对象.属性 的方式获取或设置
使用property的两种方式
装饰器方式 类属性方式2. 装饰器方式
@property 修饰获取的方法getter, 方法名必须和属性名一样
@age.setter 修饰设置值的方法setter, 方法名必须和属性名一样
class Person(object): def __init__(self): self.__age = 0 # 装饰器方式的property, 把age方法当做属性使用, 表示当获取属性时会执行下面修饰的方法 @property def age(self): return self.__age # 把age方法当做属性使用, 表示当设置属性时会执行下面修饰的方法 @age.setter def age(self, new_age): if new_age >= 150: print("成精了") else: self.__age = new_age # 创建person p = Person() print(p.age) p.age = 100 print(p.age) p.age = 1000
运行结果:
0 100 成精了
说明:
@property 表示把方法当做属性使用, 表示当获取属性时会执行下面修饰的方法 @方法名.setter 表示把方法当做属性使用,表示当设置属性时会执行下面修饰的方法 装饰器方式的property属性修饰的方法名一定要和属性名一样。3. 类属性方式
class Person(object): def __init__(self): self.__age = 0 def get_age(self): """当获取age属性的时候会执行该方法""" return self.__age def set_age(self, new_age): """当设置age属性的时候会执行该方法""" if new_age >= 150: print("成精了") else: self.__age = new_age # 类属性方式的property属性 age = property(get_age, set_age) # 创建person p = Person() print(p.age) p.age = 100 print(p.age) p.age = 1000
运行结果:
0 100 成精了
代码说明:
property的参数说明: 第一个参数是获取属性时要执行的方法 第二个参数是设置属性时要执行的方法现在大家对于Python中property的使用方式是怎样的,如何做的内容应该都有一定的认识了吧,希望这篇能对大家有所帮助。最后,想要了解更多,欢迎关注博信,博信将为大家推送更多相关的文章。
版权声明
本文仅代表作者观点,不代表博信信息网立场。
上一篇:用python实现灰度图抠图操作的代码是什么 下一篇:python如何编写公众号