`
rstevens
  • 浏览: 95657 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

python学习: python中的descriptor

阅读更多
descriptor 用与类的属性

descriptor 是一个类,需要提供 __set__, __get__, __del__ 三个方法的实现。

如果一个类的属性是 descriptor,那么:

该属性不会出现在该类实例化后的对象的__dict__中。也就是说,它部作为字典的一部分出现。
访问该属性时,调用descriptor的__get__()方法
设置该属性时,调用descriptor的__set__()方法
删除该属性时,调用descriptor的__del__()方法

也就是说,如果属性是descriptor,则劫持了对字典的访问。

descriptor 的好处是什么?
增加了一层以后,可以提供更多的灵活性,感觉
分享到:
评论

相关推荐

    Python中的Descriptor描述符学习教程

    下面先介绍一下Python中成员变量的定义和使用。 我们知道,在Python中定义类成员和C/C++相比得到的结果具有很大的差别。如下面的定义: class Cclass { int I; void func(); }; Cclass c; 在上面的定义中,...

    python学习-20-descriptor

    简单易学:Python的语法简洁明了,易于理解和学习。 高级特性:Python支持面向对象编程、函数式编程等高级特性,使得代码更加模块化和可重用。 广泛的库和框架:Python拥有丰富的第三方库和框架,可以快速开发各种...

    Python_Python学习书籍_python学习_PYTHON书籍_python_churchvuv_

    对象和类的创建、继承、多态、封装等面向对象编程的核心概念在本书中有详细的阐述,同时也探讨了Python中的元类(metaclass)和描述符(descriptor)等高级特性。 5. **错误和异常处理**: 如何优雅地处理程序中...

    cron-descriptor:一个将cron表达式转换为人类可读字符串的Python库

    Cron描述符 ...使用画中画 pip install cron-descriptor 用法示例 # Simple from cron_descriptor import get_description , ExpressionDescriptor print ( get_description ( "* 2 3 * *" )) #OR prin

    轻松理解Python 中的 descriptor

    Python中的descriptor是一个重要的概念,它是Python面向对象编程中的一种特性,允许我们自定义对象属性的访问行为。Descriptor是实现了特定协议的对象,这个协议包括`__get__()`、`__set__()`和`__delete__()`这三个...

    pythonadvanced:SJSU中的高级python编程

    在“pythonadvanced:SJSU中的高级python编程”这一主题中,我们将会深入探讨Python编程的高级概念,这些概念...在实际的学习过程中,你将有机会通过“pythonadvanced-main”这个压缩包中的材料来实践和巩固这些知识。

    零基础入门学习Python+全套源码课件.rar

    你可以学习如何在Python中绘制基本图形,为开发简单的游戏打下基础。 6. **爬虫技术**:062章节则涉及了网络爬虫的基础,特别是安装Scrapy框架。Scrapy是一个强大的Python爬虫框架,用于抓取网页数据和管理爬取流程...

    实现protobuf和json互相转换python3源码

    在Python中,protobuf提供了`protoc`编译器来生成消息类型的Python代码。你需要编写一个.proto文件,定义你想要序列化的数据结构。例如,创建一个名为`example.proto`的文件: ```proto syntax = "proto3"; ...

    Python库 | person_descriptor-0.1.0.tar.gz

    资源分类:Python库 所属语言:Python 资源全名:person_descriptor-0.1.0.tar.gz 资源来源:官方 安装方法:https://lanzao.blog.csdn.net/article/details/101784059

    Python3高级教程_python3_高级教程_电子版_

    元编程是编写操作代码的代码,Python3提供了丰富的元类(metaclass)和描述符(descriptor)机制。元类可以自定义类的行为,如动态创建属性或方法;描述符则是实现了特定接口的对象,能控制属性的访问和赋值行为。 ...

    python-3.7.3中文文档

    5. **排序算法 (howto-sorting.pdf)**:在Python中,可以使用内置的sorted()函数和列表的sort()方法对数据进行排序。这份文档详细解释了这些函数的工作原理,以及如何使用key参数自定义排序规则,同时涵盖了稳定排序...

    Python源码学习笔记.zip

    "Python源码学习笔记"可能包含了作者在深入研究Python源码过程中的思考、理解和实践,旨在帮助读者更深入地了解Python的工作机制。 Python的源码主要由C语言编写,它提供了丰富的内置函数、数据类型和模块,这些都...

    python特殊函数

    class Descriptor: def __get__(self, instance, owner): return instance._value def __set__(self, instance, value): instance._value = value def __delete__(self, instance): del instance._value `...

    Python-intermediatePython如果你还是初学这书中有中高级程序员必须的好东西

    在Python开发的学习教程中,有几个关键知识点是不容忽视的: 1. **面向对象编程(OOP)**:Python是一种支持面向对象编程的语言,了解类、对象、继承、封装和多态等概念至关重要。通过创建自定义类,你可以构建复杂...

    Python descriptor(描述符)的实现

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

    Python3.7.3官方中文文档

    这份官方中文文档为学习和理解Python 3.7.3提供了全面的指南。 **参考文档(reference.pdf)** 参考文档详尽地列出了Python 3.7.3的所有内置函数、模块、类和接口。它包含了语言规范和标准库的详细信息,帮助...

    Python描述符descriptor使用原理解析

    Python中的描述符(descriptor)是理解面向对象编程中属性访问机制的关键概念。描述符是实现了特定特殊方法(如`__get__`、`__set__`和`__del__`)的类,这些方法控制了对象属性的获取、设置和删除操作。描述符在...

    python:学习Python

    "学习Python"是一个广泛的主题,涵盖了从基础到高级的各种概念。以下是对Python编程的一些关键知识点的详细解释: 1. **基本语法**:Python代码以缩进而非花括号来组织代码块,这使得代码看起来更加整洁。它支持...

Global site tag (gtag.js) - Google Analytics