Python描述符

FI信息

描述符文档中:

描述符可以通过其方法名称直接调用。例如,d.__get__(obj)

下一个类的例子是什么?

class Descriptor:
    def __init__(self, color="red"):
        self.color = color

例如,什么是d什么,什么是什么obj"d.__get__(obj)"上述类/实例将如何调用?

雷蒙德·海廷格(Raymond Hettinger)

工作实例

为了使您的示例成为描述符,它需要一个__get __()方法:

class Descriptor:
    def __init__(self, color="red"):
        self.color = color
    def __get__(self, obj, objtype=None):
        return obj.size + ' ' + self.color

在另一个类中使用该描述符:

class A:
     pair = Descriptor('green')
     def __init__(self, size):
          self.size = size

像这样调用描述符:

>>> a = A('big')
>>> a.pair
'big green'

希望这个工作示例可以帮助您:-)

关键点

1)如果定义了__get __()__set __()或_ _delete __()中的任何一个,则类是一个描述符

2)通过创建描述符的实例并将其作为类变量存储在另一个类中来使其工作。

3)使用点运算符调用具有常规属性查找的描述符。

真的就是全部了:-)

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Python描述符的特定实现

来自分类Dev

Python描述符__get__和__set__

来自分类Dev

Python描述符未挂钩类级别属性

来自分类Dev

Python:__getattribute__方法和描述符

来自分类Dev

获取Python中文件描述符的位置

来自分类Dev

为什么Python描述符会复制?

来自分类Dev

在Python多处理中共享文件描述符

来自分类Dev

Python无类属性/描述符?

来自分类Dev

了解Python描述符

来自分类Dev

python中的腌制方法描述符对象

来自分类Dev

了解python描述符示例(TypedProperty)

来自分类Dev

Python 2.7描述符-什么是“绑定行为”

来自分类Dev

如何在python中关闭文件描述符?

来自分类Dev

Python 2.7中的错误文件描述符

来自分类Dev

如何访问存储在Python描述符上的属性?

来自分类Dev

Python描述符

来自分类Dev

使用Sift计算Python计算描述符

来自分类Dev

在Python描述符中使用setattr()和getattr()

来自分类Dev

Python描述符__get__和__set__

来自分类Dev

什么时候会调用python描述符方法?

来自分类Dev

测试Python描述符

来自分类Dev

在不可散列的类中使用描述符-python

来自分类Dev

获取Python中文件描述符的位置

来自分类Dev

Windows中的select()python中的文件描述符过多

来自分类Dev

Python Mutliprocessing / Sockets-错误的文件描述符

来自分类Dev

使用python显示进程的文件描述符

来自分类Dev

Adafruit BLE python库无法列出描述符

来自分类Dev

Python对描述符的手动调用被忽略

来自分类Dev

Python 描述符和继承