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