content: 1.什么是迭代协议 2. 什么是迭代器(Iterator)和可迭代对象(Iterable) 3. 使用迭代器和可迭代对象 4. 创建迭代器和可迭代对象 5. 迭代器设计模式   一. 什么是迭代协议 之前我们就提到,python中的魔法函数,相当于其对应的协议,如果实现了某种魔法函数,我们可以认为这个类遵循了某种协议,有了某种特定的特质. 在python中遵循了迭代协议的有两个概念,一个是Iterable(可迭代类型),一个是iterator(迭代器). 看Iterable和…
 content: 1. 什么是生成器 2. 生成器的实现 3. 生成器的应用   一.生成器简介 1.什么是生成器     在 Python 中,使用了 yield 的函数被称为生成器(generator).     跟普通函数不同的是,生成器是一个返回迭代器的函数,只能用于迭代操作,更简单点理解生成器就是一个迭代器. 在调用生成器运行的过程中,每次遇到 yield 时函数会暂停并保存当前所有的运行信息,返回 yield 的值, 并在下一次执行 next() 方法时从当前位置继续运行. 调用一…
前言: 我一直觉得对我来说学习知识很忌讳不系统.本篇内容与上一篇 自定义序列类是有联系的. 上一篇比较通范的了解了序列类的一些协议和特性,并且有些list的内容.这篇更加具体到set和dict这两个序列类. 以此来了解python序列类的具体应用.(这篇比较简单)(感觉具体比抽象都更容易理解,但是也要学会思考把具体对象抽象化来表达,即提取共性) content: 1.dict在abc中的序列类型和继承关系 2.dict实现了的常用方法 3.我可不可以继承dict这种序列类? 4.set和froz…
 content: 1. python的GIL 2. 多线程编程简单示例 3. 线程间的通信 4. 线程池 5. threadpool Future 源码分析   ===========================   一. python的GIL 关于python的GIL,有一位博主写的我觉得真的挺好的,清晰明了通俗易懂.http://cenalulu.github.io/python/gil-in-python/ 在这里就不赘述了,但是注意文章中的试验结论是基于python2的.pytho…
content: 上: 1.property动态属性 2.__getattr__和__setattr__的区别和在属性查找中的作用 3.属性描述符 和属性查找过程 4.__new__和__init__的区别 下: 5.什么是元类和自定义元类 6.用元类实现orm ============================= 一.property动态属性 1.什么是property? 在面向对象编程中,我们一般把名词性的东西映射成属性,动词性的东西映射成方法.在python中他们对应的分别是属性se…
content: 1. 为什么要多进程编程?和多线程有什么区别? 2. python 多进程编程 3. 进程间通信 =======================================   一. 为什么要多进程编程?和多线程有什么区别? 由于GIL的存在,所以对于某一些多线程任务来说,无法利用多核的优势,对这些耗cpu的任务,用多进程反而能利用多cpu. 所以多cpu的操作用多进程编程. 对io操作较多的任务来说,瓶颈不在于cpu,更多的在于io的切换中的消耗和时间等待.用多线程反而能…
前言: 本文代码基于python3 Content: 1.python中的序列类分类 2. python序列中abc基类继承关系 3. 由list的extend等方法来看序列类的一些特定方法 4. list这种序列类的一大特点:切片.和如何实现可切片对象.到如何自定义一个序列类. 5. biset维护排序序列 6. 什么时候使用list 7.列表推导式.生成器表达式.字典推导式 1.python中的序列类分类 a.什么是python的序列类? 之前提到的魔法函数这种时候就很重要啦.满足序列类相关…
前言: 是自己在学习python进阶IO学习视频的时候的理解和笔记,因为很多都是本菜鸟学习时候的自己的理解,有可能理解有误. Content: - 抽象的概念和面向对象的概念?想要大概了解python的面向对象需要注意哪些知识点? - 由type.object.class来了解python对象的机制和特性 - python提供了哪些常用的内置类型?(被抽象成类) 一  抽象和面向对象和类 在python基础教程书中,有一章名字是抽象,在学习的时候,我还曾经把这里面抽象的概念和后面抽象基类的概念弄…
前言: 没有前言了- -......这系列是整理的以前的笔记上传的,有些我自己都忘记我当时记笔记的关联关系了. 记住以后 笔记记了就是用来复习的!!!不看不就啥用没了吗!!! content: 1.python中的对象和变量引用 2.del语句和垃圾回收 3.数据类型的可变性(常因为这个出现的经典错误) ================ 1.python中的对象和变量引用 a.python和java中的变量本质完全不一样 静态语言最开始的时候就分配了一个盒子,盒子里的东西是什么最开始就是定好了的…
前言: 与第一篇的面向对象内容不同的是,第一篇中的面向对象更多的是与类.对象结合起来的概念粗浅理解,就是在编程历史中诞生的一种思想方法. 这篇的面向对象编程,更多落实到在语言设计实现中,是如何体现面向对象这一设计思想的. 本篇内容围绕 python基础教程这段: 在面向对象编程中,术语对象大致意味着一系列数据(属性)以及一套访问和操作这些数据的方法.使用对象而非全局变量和函数的原因有多个,下面列出了使用对象的最重要的好处.  多态:可对不同类型的对象执行相同的操作,而这些操作就像“被施了魔法”…