龙空技术网

python封装3:通过property(读取方法,写入方法)封装实列变量

空山画雨 127

前言:

如今姐妹们对“python算法封装”大致比较着重,你们都想要剖析一些“python算法封装”的相关文章。那么小编也在网摘上搜集了一些对于“python算法封装””的相关资讯,希望看官们能喜欢,各位老铁们快快来了解一下吧!

通过property(读取方法,写入方法)封装实列变量

class Diren:

def __init__(self,name,lia,gj):

self.name=name

#self.set_lia(lia)

self.lia=lia#写法是对象变量,实际通过lia = property(get_liat, set_lia)转到方法体内,调用的是self._lia

# self.set_gj(gj)

Self.gj=gj

def get_liat(self):

return self.__lia

def get_gj(self):

return self.__lia

def set_lia(self,value):

if 10<=value<=80:

self.__lia=value

else:

raise EOFError("超出范围")

def set_gj(self,value):

if 30<=value<=50:

self.__gj=value

else:

raise EOFError("超出范围")

#属性,拦截对lia的读和写。

lia = property(get_liat, set_lia)-->方法名后面不要加“()”

lia = property(None, set_lia)#只能写不有读

lia = property(get_liat, None)#只能读不能写

gj = property(get_gj, set_gj)

dr=Diren("小辣椒",20,45)

dr.lia=35#这句看似修改的对象变量实际修改的self.__lia

print(dr.lia)

标签: #python算法封装