`

很好的文章讲述python的描述符

 
阅读更多
看看这些输出,文放你怎么看?

T是一个类,t是T的实例,hello是定义在T中的一个方法

>>> t.hello
<bound method T.hello of <__main__.T object at 0x7f9fa9097e10>>
>>> T.hello
<unbound method T.hello>
>>> id(t.hello)
140323732198176
>>> id(T.hello)
140323732198096
>>> T.__dict__['hello'].__get__(None, T)
<unbound method T.hello>
>>> id(T.__dict__['hello'].__get__(None, T))
140323732198176
>>> id(T.__dict__['hello'])
140323712118984
>>> T.__dict__['hello'].__get__(t, T)
<bound method T.hello of <__main__.T object at 0x7f9fa9097e10>>
>>> id(T.__dict__['hello'].__get__(t, T))
140323732198176

顺便收藏了这两个文章。。感谢文章作者。。
http://onlypython.group.iteye.com/group/wiki/1362-python-39-s-descriptor
http://onlypython.group.iteye.com/group/wiki/1363-python-39-s-descriptor-2
分享到:
评论

相关推荐

    Python描述符descriptor使用原理解析

    Python中的描述符(descriptor)是理解面向对象编程中属性访问机制的关键概念。描述符是实现了特定特殊方法(如...了解并熟练运用描述符,能够使你在Python编程中更好地控制对象的行为,创建出更加灵活和健壮的类结构。

    通过实例解析python描述符原理作用

    这篇文章主要介绍了通过实例解析python描述符原理作用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 本质上看,描述符是一个类,只不过它定义了另一个类中...

    Python黑魔法Descriptor描述符的实例解析

    数据描述符是指实现了__get__,__set__,__del__方法的类属性(由于Python中,一切皆是对象,所以你不妨把所有的属性也看成是对象) PS:个人觉得这里最好把数据描述符等效于定义了__get__,__set__,__del__三个方法的接口...

    Python黑魔法之描述符

    Descriptors(描述符)是Python语言中一个深奥但很重要的一个黑魔法,它被广泛应用于Python语言的内核,熟练掌握描述符将会为Python程序员的工具箱添加一个额外的技巧。本文我将讲述描述符的定义以及一些常见的场景,...

    详解Python中的Descriptor描述符类

    描述符是调和属性访问的一个类。描述符类可用来获取、设置或删除属性值。描述符对象是在类定义的时候构建在一个类中的。 一般来说,描述符是一个具有绑定行为的对象属性,其属性的访问被描述符协议方法覆写。这些...

    Python中的类与对象之描述符详解

    Python中的描述符是实现对象属性访问控制的关键机制,它们提供了对属性读取、写入甚至删除行为的定制。描述符是实现了`__get__`、`__set__`或`__delete__`特殊方法的对象,这三个方法分别在访问、设置和删除属性时被...

    Python中的Descriptor描述符学习教程

    我们知道,在Python中定义类成员和C/C++相比得到的结果具有很大的差别。如下面的定义: class Cclass { int I; void func(); }; Cclass c; 在上面的定义中,C++定义了一个类型,所有该类型的对象都包含有一...

    Python_大型语言模型LLM文件的标准化JSON描述符集合.zip

    `model-catalog_main.zip`很可能是模型目录的压缩文件,其中可能包含了多个LLM模型的信息,每个模型都有其详细的JSON描述符。这些描述符通常包括模型的名称、作者、版本、描述、依赖的库、输入输出格式等关键信息,...

    解密Python中的描述符(descriptor)

    描述符可以很好地完成这一任务。 4. **缓存计算结果**:通过描述符可以在第一次计算出属性值后将其缓存起来,避免重复计算。 #### 三、描述符的分类 描述符分为两种类型:数据描述符和非数据描述符。 - **数据...

    Python descriptor(描述符)的实现

    Python是一种动态语言,不支持类型检查。当需要对一个对象执行类型检查时,可能会采用下面的方式: class Foo(object): def __init__(self,a): if isinstance(a,int): self.__a = a else: raise TypeError(...

    基于python和pyqt5,实现opencv图像处理,包含内容有基本的图像处理,图像检索以及基于图像描述符的搜索

    【作品名称】:基于python和pyqt5,实现opencv图像处理,包含内容有基本的图像处理,图像检索以及基于图像描述符的搜索 【适用人群】:适用于希望学习不同技术领域的小白或进阶学习者。可作为毕设项目、课程设计、...

    ORB特征描述python源码实现及基于opencv实现

    在本教程中,我们将深入探讨ORB特征描述符的Python源码实现以及如何利用OpenCV库来实现它。 首先,让我们了解ORB的基本原理。FAST(Features from Accelerated Segment Test)是一种快速检测图像中角点的关键点检测...

    Python-pythongoto函式修饰符对bytecode进行重定向Python中的goto

    标题所提到的"Python-pythongoto函式修饰符"可能是指一种利用Python字节码来模拟goto功能的技术。Python的源代码首先会被编译成字节码,这是一种低级别的中间表示,然后再由Python解释器执行。通过直接操作这个字节...

    python中判断文件结束符的具体方法

    python中判断文件结束符的方法:可以使用try except语句块来进行判断。 具体使用方法:【try:while True:s = input() except EOFError: pass】。 Python 中,用try except语句块捕获并处理异常,其基本语法结构如下...

    orb&sift_SIFT算法_orb_python_

    Python中的OpenCV库提供了`cv2.SIFT_create()`函数来创建SIFT对象,并通过`detectAndCompute()`方法检测关键点和生成描述符。 ORB算法是后来提出的,由Andrew J. Flagg和Richard Hartley于2011年提出,它旨在提供与...

    PYTHON学习教程md格式

    Python 的设计具有很强的可读性,相比其他语言经常使用英文关键字,其他语言的一些标点符号,它具有比其他语言更有特色语法结构。 * **Python 是一种解释型语言:** 这意味着开发过程中没有了编译这个环节。类似于...

Global site tag (gtag.js) - Google Analytics