@属性
属性原理
属性原理
-
方法内部操作私有变量(私有变量是真实存储的数据)
2.@property在创建属性对象,将下面的方法作为参数
再将对象的地址交给下面的方法名称关联
属性名= property(读取方法)
3.@方法名.setter 在调用属性对象的setter方法,将下面方法作为参数
再将对象的地址交给下面的方法名称关联
属性名.setter(写入方法
“”"
#属性各种写法
“”"
“”"
#写法1:读写属性
#作用:可以在读取和写入数据时进行有效性验证
#快捷键:props + 回车
class MyClass:
def init(self, data):
self.data = data@property
def data(self):
return self.__data@data.setter
def data(self, value):
self.__data = value
m01 = MyClass(10)
print(m01.data)
“”"
写法2:只读属性
作用:限制数据只能被读取不能被修改
快捷键:prop + 回车
class MyClass:
def init(self, data):
self.__data = data
@property
def data(self):
return self.__data
m01 = MyClass(10)
m01.data = 20
print(m01.data)
“”"
#写法3:只写属性
#作用:限制数据只能被修改不能被读取
#没有快捷键
class MyClass:
def init(self, data):
self.data = data
data = property()
@data.setter
def data(self, value):
self.__data = value
# def set_data(self, value):
# self.__data = value
# data = property(None, set_data)
m01 = MyClass(10)
m01.data = 20
print(m01.data)
“”"