// // // //

2019年4月12日

摘要: 提到构造器,大家都会想到 __init__,那么__new__是什么?也是构造器。 init 构造器 都很熟悉了,直接上代码 是不是很简单 别急,请跟着我的思路,方法m1的参数有个self,这个self就是实例,在调用m1之前这个实例肯定已经产生了;但是init的参数也有个self,在调用init之 阅读全文
posted @ 2019-04-12 17:12 努力的孔子 阅读(708) 评论(0) 推荐(0) 编辑
 
摘要: 属性包装是把类的方法包装成属性,实现python的魔法世界。 1. 限制属性,如类型、范围等 2. 只读属性 3. 不可删除属性 4. 虚拟属性 或者说 对属性进行处理 等关于属性的规则 直接上代码 上面 property 函数的原型为property(fget=None,fset=None,fde 阅读全文
posted @ 2019-04-12 15:54 努力的孔子 阅读(364) 评论(0) 推荐(0) 编辑
 
摘要: 生成器是一种特殊的迭代器,应该说更高级,它也是用于节省内存。 生成器是包含yield的函数,就这么简单。 它的特点是:在函数运行过程中,如果遇到yield,会暂停,并且返回一个值,等到下次执行时,从上次停止的地方开始 生成器写法 注意 yield count的写法,后面会有不同 交互的生成器 1. 阅读全文
posted @ 2019-04-12 15:18 努力的孔子 阅读(222) 评论(0) 推荐(0) 编辑
 
摘要: 迭代器主要用于节省内存,迭代器可以迭代进行同样的操作。 比如迭代生成数据,那他就是一个数据容器,但是他是一个元素一个元素的生成,而不需要事先生成完整的序列,这就不需要很大的内存来存放这个序列,从而节省了内存。 迭代器是实现了__iter__和next方法的对象,iter返回迭代器自身,next读取下 阅读全文
posted @ 2019-04-12 15:18 努力的孔子 阅读(336) 评论(0) 推荐(0) 编辑
 
摘要: 深拷贝浅拷贝是个很容易迷糊的问题,本人帮你彻底搞清楚。 粗识内存 本人没学过c,内存略懂,有堆栈之分, 栈可以理解为程序自动分配的内存,堆可以理解为程序员对内存的引用,不重要,有感觉就行。 浅拷贝 浅拷贝并不是我们认知中的“复制”,浅拷贝只是对象的引用,是对一个对象的浅层拷贝,所以叫浅拷贝 或者说是 阅读全文
posted @ 2019-04-12 11:24 努力的孔子 阅读(234) 评论(0) 推荐(0) 编辑
 
摘要: 我跟别人说我精通python,别人问我wrapper是啥,我说不知道,尼玛,原来wrapper就是装饰器,熟的不得了啊,英语真是我的克星啊。 闭包 closure 在认识装饰器之前先认识下闭包 闭包,顾名思义就是把什么东西封闭在保内,什么东西呢?变量和函数。 在一个函数里装了另一个函数,里面那个函数 阅读全文
posted @ 2019-04-12 09:49 努力的孔子 阅读(3331) 评论(0) 推荐(0) 编辑