2018年3月22日

Python学习之路(43)——自定义容器(container)

摘要: Python中常见的容器类型包括dict、tuple、list和string。其中,tuple和string是不可变容器,dict和list是可变容器。其区别在于,不可变容器一旦赋值后,其元素不能进行修改。 然而,有时针对特殊需求,我们还需要自定义容易。 1、自定义不可变容器类型:需要定义__len 阅读全文

posted @ 2018-03-22 17:33 nicolas_Z 阅读(3520) 评论(0) 推荐(0)

Python学习之路(42)——描述器(Descriptor)

摘要: 什么是描述器(有些地方也称为描述符,这里统一以描述器)? 一般来说,一个描述器是一个有“绑定行为”的对象属性(object attribute),其属性的访问控制被描述符协议方法重写。这些方法是__get__()、__set__()和__delete__(),如果一个对象中只要包含了这三种方法中至少 阅读全文

posted @ 2018-03-22 16:54 nicolas_Z 阅读(279) 评论(0) 推荐(0)

Python学习之路(41)——Python的"__getattr__"和"__getattribute__"

摘要: __getattr__ __getattr__在当前主流的Python版本中都可用,重载__getattr__方法对类机器实例未定义的属性有效。即,如果访问的属性(包括类属性和实例属性)存在,就不会调用__getattr__方法。 Python官方文档描述: __getattribute__ __g 阅读全文

posted @ 2018-03-22 15:35 nicolas_Z 阅读(432) 评论(0) 推荐(0)

Python学习之路(40)——详解Python的下划线

摘要: 单下划线(_) 单下划线有三种用法: 1、在解释器中: 在这种情况下,"_"代表交互解释器会话中上一条执行的语句结果。 2、作为一个名称: 在这种情况下,"_"作为一个临时名称。 3、国际化: 这种情况下,"_"作为一个函数使用,通常用于实现国际化和本地化字符串之间翻译查找的函数名称。例如在Djan 阅读全文

posted @ 2018-03-22 10:39 nicolas_Z 阅读(197) 评论(0) 推荐(0)

导航