
Python
ljiaquan
这个作者很懒,什么都没留下…
展开
-
[Python]yield理解
理解yield先知道interator和generator。 interator可以被遍历访问内部元素,主要是因为其实现了next方法generator可以返回一个interator yield的作用就是将一个函数变为generator,调用该函数时不会直接执行文件,而是返回一个interator,调用next方法时从yield出现的地方开始执行,数据状态更上一次执行完时一样...原创 2014-12-19 17:37:49 · 131 阅读 · 0 评论 -
__new__和__init__
假设有类C,类C有__init__(self, arg)方法创建一个类的实例a = C(arg)首先会调用C类的__new__()方法(),并把参数arg传入__new__()中,一般会返回一个类的实例,然后再把该实例和参数一并传入类的__init__(self, arg)中,需要注意的是__init__返回值必须为None,由于__init__要求self参数,所以当__new_...原创 2014-12-29 17:22:38 · 128 阅读 · 0 评论 -
x.name与__getattr__和__setattr__
首先知道每个object都有成员__dict__,为存放该object可访问的所有成员和方法的一个字典(dictionary)所以,在python中,假设有实例x,访问x.name时,首先会从dict中搜索是否有key为name,如果有就直接返回对应的value,如果没有则调用该类的__getattr__方法,可以重写该方法处理访问不存在成员或方法的行为。当试图为x.name赋值例如x...原创 2014-12-30 09:44:16 · 197 阅读 · 0 评论 -
Descriptor
比较易懂的说明Python descriptor官方文档定义:符合descriptor protocol的对象(object)都称为descriptor,实际上就是实现了__get__(),__set__(),__delete__()中的一种或者多种的对象都可以看作descriptor。(需要注意的是descirptor只能被new-style class调用) 作用:取代默认...原创 2014-12-30 15:34:07 · 205 阅读 · 0 评论