当前位置 : 主页 > 编程语言 > python >

python __set__ __get__ __delete__

来源:互联网 收集:自由互联 发布时间:2022-06-28
class Attr(object): def __init__(self,attrname,attrtype): self.attrname=attrname self.attrtype=attrtype def __get__(self,instance,value): return instance.__dict__[self.attrname] def __set__(self,instance,value): if not isinstance(value,self
class Attr(object):
def __init__(self,attrname,attrtype):
self.attrname=attrname
self.attrtype=attrtype
def __get__(self,instance,value):
return instance.__dict__[self.attrname]
def __set__(self,instance,value):
if not isinstance(value,self.attrtype):
raise TypeError("%s type error"%self.attrname)
instance.__dict__[self.attrname]=value
def __delete__(self,instance):
del instance.__dict__[self.attrname]

class Person(object):
name=Attr("name",str)
age=Attr("age",int)
p=Person()
p.age="23"

 


上一篇:web.py
下一篇:没有了
网友评论