pythonattrs表示什么
python的attr可看作是一个类装饰器但又不仅仅是简单的装饰器,他使得我们编写类变得更加简单轻松。下面先通过一个简单的例子来见识下attr的强大吧。
现在我们需要编写一个类,有a,b,c两个属性,正常的写法:
classA(object):
def__init__(self,a,b,c):
self.a=aself.b=bself.c=c
看起来也没那么复杂嘛。好了,现在领导说类的打印输出不好看,又不能进行比较,行吧,有需求就加吧。
fromfunctoolsimporttotal_ordering@total_orderingclassA(object):
def__init__(self,a,b,c):
self.a=aself.b=bdef__repr__(self):
return"ArtisanalClass(a={},b={})".format(self.a,self.b)
def__eq__(self,other):
ifnotisinstance(other,self.__class__):
returnNotImplemented
return(self.a,self.b)==(other.a,other.b)
def__lt__(self,other):
ifnotisinstance(other,self.__class__):
returnNotImplemented
return(self.a,self.b)
鹏仔微信 15129739599 鹏仔QQ344225443 鹏仔前端 pjxi.com 共享博客 sharedbk.com
图片声明:本站部分配图来自网络。本站只作为美观性配图使用,无任何非法侵犯第三方意图,一切解释权归图片著作权方,本站不承担任何责任。如有恶意碰瓷者,必当奉陪到底严惩不贷!