关于学习Python的一点学习总结(50->描述符)
89.描述符:就是将特殊类型的类实例化时指派另一个类的属性
1.__get__(self,instance,owner):
用于访问属性,返回的是属性的值
2.__set__(self,instance,value):
将在属性分配操作中调用,不返回任何内容
3.__delete__(self,instance):
控制删除操作,不返回任何内容
class Mydector:def __get__(self,instance,name):print("getting....",self,instance,name)def __set__(self,instance,value):print("setting...",self,instance,value)def __delete__(self,instance):print("deleting...",self,instance)class Test:x=Mydector()
输出:
>>> test=Test()
>>> test.x
getting.... <__main__.Mydector object at 0x00000136CCDAF400> <__main__.Test object at 0x00000136CCDF4DD8> <class '__main__.Test'>
>>> test
<__main__.Test object at 0x00000136CCDF4DD8>
>>> Test
<class '__main__.Test'>
>>> test.x='x_man'
setting... <__main__.Mydector object at 0x00000136CCDAF400> <__main__.Test object at 0x00000136CCDF4DD8> x_man
>>> del test.x
deleting... <__main__.Mydector object at 0x00000136CCDAF400> <__main__.Test object at 0x00000136CCDF4DD8>
结论 : 将Mydector () 在Test中实例化,可以看到在输出中实例化Test之后,test.x调用了Mydector () 中的__get__(self,instance,name)访问Test中的属性x。输出test时直接返回对象;test.x='x_man’设置Test中的x属性;del test.x删除操作。
关于学习Python的一点学习总结(50->描述符)相关推荐
- 关于学习Python的一点学习总结(57->正则表达式及re模块中的一些函数)
关于这个正则表达式,我本人也是有点不完全懂,还在继续学习中. 97.re 1.正则表达式: 1.通配符:正则表达式可与多个字符串匹配,可使用特殊字符来创建这种正则表达式 例如:正则表达式'.ython ...
- 关于学习Python的一点学习总结(54->集合->堆->双端队列)
集合,堆,双端队列 再谈集合set:集合是由内置类set实现的 >>> set(range(10)){0, 1, 2, 3, 4, 5, 6, 7, 8, 9} 可使用序列(或其他可 ...
- 关于学习Python的一点学习总结(58->匹配对象和编组)
匹配对象和编组 1.模块re中,查找与模式匹配的子串的函数都在找到时返回MatchObject对象.这种对象包 含与模式匹配的子串的信息,还包含模式的哪部分与子串的哪部分匹配的信息.这些子串部分称 为 ...
- 关于学习Python的一点学习总结(52->模块就是程序)
91.模块就是程序 # hello.py print("Hello, world!") 将其保存在文件hello.py中,这个文件的名称(不包括扩展名.py)将成为模块的名称.这个 ...
- 关于学习Python的一点学习总结(47->静态方法和类方法)
86.静态方法和类方法:静态方法和类方法是这样创建的:将它们分别包装在staticmethod和classmethod类的对象中.静态方法的定义中没有参数self,可直接通过类来调用.类方法的定义中包 ...
- 关于学习Python的一点学习总结(41->相关的BIF操作)
81.一些相关的BIF 1.>>> class BIF:def __init__(self,t):self.t=thasattr(object,name):判断name是否在obje ...
- 关于学习Python的一点学习总结(38)
78.文件: 1.文件的类型:包括ASCII,MIME,.txt等格式. 2.文件的格式类型:(1).MPEG视频:mp4;(2).图片格式:.jpg:(3)powerpoint文档:.ppt; (4 ...
- 关于学习Python的一点学习总结(40->os.path模块)
79.2.os.path模块中关于路径常用的函数使用方法 1.basename(path):去掉目录路径,单独返回文件名2.dirname(path):去掉文件名,单独返回目录路径3.join(pat ...
- 关于学习Python的一点学习总结(35->关联超类)
76.调用为关联的超类(继承的类)构造函数 先举个例子: class Bird: def __init__(self): self.hungry = True def eat(self): if se ...
- 关于学习Python的一点学习总结(30->递归实例)
68.递归 先来两个例子: 1.阶乘 def Fact(num):result=numfor i in range(1,num):result*=ireturn result>>> ...
最新文章
- NTU课程笔记 MAS714(2) Big-O notations
- java 双向链表例子_Java双向链表按照顺序添加节点的方法实例_Java_软件编程
- PHP中的json_encode和json_decode
- [汇编语言]实验:应用更灵活的寻址方式来定位内存地址
- 1.15-1.16 sqoop action
- java 时间转中文_使用JScript把时间转成中文
- 基于APMSSGA-LSTM的容器云资源预测
- 怎样成为一名A“.NET研究”ndroid开发者
- OA应用案例:采矿业如何应用OA办公系统
- Win10 WSL adb使用
- 天翼对讲机写频软件_对讲机常见问题解决方法
- paip 自定义输入法多多输入法词库的备份导出以及导入
- 使用ToStringBuilder.reflectionToString重写toString方法
- 汉字区位码---非常浅显的知识点
- KMeans原理和密度聚类
- 非华为电脑装华为电脑管家实现多屏协同
- 简单的markdown在线解析服务-pro
- 安霸Ambarella CV系列芯片
- 关于RFID电感耦合方式的射频前端工作原理,你了解吗?
- 假如给我三天光明(所有人都曾是小孩虽然只有少数人记得)