方法、定制属性访问描述符与装饰器-描述和_第1页
方法、定制属性访问描述符与装饰器-描述和_第2页
方法、定制属性访问描述符与装饰器-描述和_第3页
方法、定制属性访问描述符与装饰器-描述和_第4页
方法、定制属性访问描述符与装饰器-描述和_第5页
免费预览已结束,剩余26页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

教学监讲师:聆 知识点回

教学监必须掌握: repr call 方教学监

new方

0302

04教学监PART classclassdefnew(cls,*args,**kwargs):ifnothasattr(cls,'instance'):cls.instance=super().newreturndefinit(self):='Erath'e1=Erath()e2=Erath()print(e1,print(id(e1),在上面的例子中,我们可以看到两个实例的ID是相同意味着这两个其实的是同一个实例,是一个实例的不同名

new 在初始化函 之前执行new 合理利 单例模利用这个new 必须掌握: 方法的运行顺了解:使用 方法的单例模式应教学监 re= 查hasattr(re,'length')#返回boolgetattr(re,'length'回属性b.getattribute('length'回属性

改setattr(b,'length',b.setattr('length',增b.aaa=setattr(b,'bbb',b.setattr('ccc',

删delattr(b,b.delattr('bbb')delbre= def print('noattribute')当属性不存在时,如果定义了此方法,则调用方属属性值存属性值不存

定制属性总必须掌握:hasattrgetattr了解: 熟悉:属性调用规则教学监PART classdef (self,instance,def (self,instance,def (self,classm=def c=MyClass()c.m=1del定义get set delete 方法教学监PART defdefdeffun2():#嵌套函数f()参数当函数执行returnfun2@fun1deffun():class

def (self,length,width):self.length=lengthdefareas=self.length*self.widthreturnareas #就像属性一defreturnself.width* 静态方def self在调用的时候会报 类方def cls代表类本果加上self,在调用时就要把实例传print('showfun')classclassdefinit(selffunc):self.func=defcall(self*args**kwargs):一定要定义callreturndeffun_test():类也可以做装饰器,但是需要定义 方importimportdefdefnew_fun(*args,**kwargs):t0=time.time()print('startime:%s'%(time.strftime('%x',back=func(*args,print('endtime:%s'%(time.strftime('%x',time.localtime())))print('runtime:%s'%(time.time()-t0))returnreturndeffun():isinstance(123,fu

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论