Descriptor
比较易懂的说明Python descriptor
官方文档
定义:符合descriptor protocol的对象(object)都称为descriptor,实际上就是实现了__get__(),__set__(),__delete__()中的一种或者多种的对象都可以看作descriptor。(需要注意的是descirptor只能被new-style class调用)
作用:取代默认的属性访问(attribute access)方式。python中,当你访问x.name时,默认的访问方式为:
(1)x.__dict__['name']
(2)type(x).__dict__['name']
(3)tpye(x)的所有baseclass的__dict__['name']
所以当你为type(x)的name属性绑定descriptor后(x=descriptor()),访问x.name不再按照上面的访问方式访问,而是调用descriptor的__get__方法,如果没有定义__get__方法,则返回descriptor本身。
Descriptor相关推荐
- python中的新式类与旧式类的一些基于descriptor的概念(下)
3. Descriptor介绍 3.1 Descriptor代码示例 3.2 定义 3.3 Descriptor Protocol(协议) 3.4 Descriptor调用方法 4. 基于Descri ...
- python中的新式类与旧式类的一些基于descriptor的概念(上)
python中基于descriptor的一些概念(上) 1. 前言 2. 新式类与经典类 2.1 内置的object对象 2.2 类的方法 2.2.1 静态方法 2.2.2 类方法 2.3 新式类(n ...
- Python的Descriptor和Property混用
一句话,把Property和Descriptor作用在同一个名字上,就只有Property好使.
- linux 安装包 在此作用域中尚未声明_Linux运行go项目报错:copy_file_range: bad file descriptor...
这两天在 Linux 环境部署一个 Go 项目遇到一个报错:copy_file_range: bad file descriptor.网上查找各种方法,花了两天的时间,经过一番折腾后才解决,觉得非常有 ...
- Python descriptor
2019独角兽企业重金招聘Python工程师标准>>> 定义:descriptor是一个对象属性,拥有下述的任何一个绑定方法(__set__, __get__, __delete__ ...
- Linux Kernel TCP/IP Stack — L1 Layer — NIC Controller — Buffer descriptor table
目录 文章目录 目录 DMA 与 Buffer descriptor DMA 与 Buffer descriptor NIC Controller 会在 RAM 中建立并为例两个环形队列,称为 BD ...
- listener does not currently know of service requested in connect descriptor
最近装了Oracle 10g,当我用pl/sql去连接的时候,经常报listener does not currently know of service requested in connect d ...
- Failed to read artifact descriptor进行安装maven项目出错
1. 在maven中进行install的时候报出这种错误:clean install -DskipTests=true [INFO] Scanning for projects... [INFO] ...
- IDT系列:(一)初探IDT,Interrupt Descriptor Table,中断描述符表
IDT,Interrupt Descriptor Table,中断描述符表是CPU用来处理中断和程序异常的. 一.有关IDT的基本知识 1.中断时一种机制,用来处理硬件需要向CPU输入信息的情况. 比 ...
- ShapeMatching Using Fourier Descriptor
github地址:https://github.com/AliceLeBrigant/ShapeMatching 这个代码上来就花轮廓,根据轮廓查找相似的,背景必须纯色,商用价值不高. import ...
最新文章
- Ubuntu18彻底删除MySQL5.7数据库
- Matlab读写二进制文件
- php中的魔术函数以及魔术常量
- python学习day04
- 接上文 ,解决 虚拟机VM,U盘(磁盘)装有系统,将其中系统安装到另外一块磁盘的具体操作
- 大整数的因子(信息学奥赛一本通-T1171)
- 文本框中只能输入小于等于100的正整数
- 树莓派4B安装ffmpeg的方法
- JAVA收到网络报文的IP是::1,怎么回事?
- BCH码(BCH code)详细分析
- 加载行为:未加载用户已选择禁用宏
- 如何区别文本是BIG5还是GB?
- 利用sublime3 + xmapp使用服务器调试
- Linux Wps 缺少字体
- 计算机关闭多重网络协议,Win7多重网络问题
- 三顾茅庐:从刘备面试孔明得出的选股经验
- VSCode 的扩展包C/C++ IntelliSense, debugging, and code browsing的IntelliSense功能无法使用
- 王阳明:越是多变时,越要学会进化(附个体进化的底层心力逻辑)
- php 提取数字,php如何实现只取数字的功能
- Spring MVC controller控制器映射无法访问问题!!!
热门文章
- JavaScript中参数带双引号怎么办
- linux pv 信号量,Linux信号量PV操作
- 原生(OTB)iPhone1.1.2固件破解通用教程
- 小程序-----Vscode中微信小程序插件
- 财务系统之结算体系架构业务篇
- 《数据结构与算法》—— O(3N)=O(N) ?
- 一失脚为千古恨,再回头一百年人
- Golang Goroutine
- 阻塞主线程,等待异步子线程执行完毕再退出主线程,有几种写法?
- 鸿蒙OS渲染图,华为P50 Pro渲染图,首发鸿蒙OS系统,1英寸传感器比肩专业单反