property-修饰类变量
property解释:它表示属性的意思, 可以用来修饰 方法, 修饰之后, 实现: 把 方法 当做 变量来使用,目的是简化开发.
用法:
格式1: 当做装饰器使用.
@property # 修饰的是 获取值的函数.@方法名.setter # 修饰的市 设置值的函数, 注意: 这里的方法名 要和 @property修饰的方法名保持一致.
格式2: 修饰类变量
类变量名 = property(get_xxx函数, set_xxx函数) # 即: 参1是获取值的, 参2是设置值, 之后就可以直接使用该 类变量了.
代码演示:
装饰器方法:
# 需求1: 定义Student类, 其中有个私有的属性 name, 定义公共的访问方式, 实现在外界访问该 私有变量.
# 1. 定义学生类.
class Student(object):# 1.1 定义私有变量(属性)def __init__(self):self.__name = '乔峰' # 两个下划线_ 表示私有# 1.2 定义get_xxx(), 获取: 姓名@propertydef name(self):return self.__name# 1.3 定义set_xxx(), 修改: 姓名@name.setterdef name(self, name):self.__name = name
修饰类变量:
# 需求1: 定义Student类, 其中有个私有的属性 name, 定义公共的访问方式, 实现在外界访问该 私有变量.
# 1. 定义学生类.
class Student(object):# 1.1 定义私有变量(属性)def __init__(self):self.__name = '乔峰' # 两个下划线_ 表示私有# 1.2 定义get_xxx(), 获取: 姓名def get_name(self):return self.__name# 1.3 定义set_xxx(), 修改: 姓名def set_name(self, name):self.__name = name# 1.4. 通过property关键字, 实现: 把 get_name() 和 set_name()函数, 封装成 类属性.# 格式: 类变量名 = property(get_xxx函数, set_xxx函数), 即: 参1是获取值的, 参2是设置值, 之后就可以直接使用该 类变量了.name = property(get_name, set_name)# 2. 在main函数中测试
if __name__ == '__main__':# 演示: property修饰 类属性的用法.# 2.1 创建学生类对象.s = Student()# 2.2 打印 name 属性值print(s.name)# 2.3 设置 name 属性值s.name = '张三'# 2.4 打印 name 属性值print(s.name) # s1.name