摘要:
算法思想: 将待排序序列R[0...n-1]看成是n个长度为1的有序序列,将相邻的有序表成对归并,得到n/2个长度为2的有序表;将这些有序序列再次归并,得到n/4个长度为4的有序序列;如此反复进行下去,最后得到一个长度为n的有序序列。 实现步骤: “合并”——将划分后的序列段两两合并后排序。 图示: 阅读全文
摘要:
yield与send实现协程操作 之前我们说过,在函数内部含有yield语句即称为生成器。 下面,我们来看看在函数内部含有yield语句达到的效果。首先,我们来看看以下代码: 我们都知道,程序一旦执行到yield就会停在该处,并且将其返回值进行返回。上面的例子中,我们并没有设置返回值,所有默认程序返 阅读全文
摘要:
本文讲述了以下几个方面: 1.何为迭代,何为可迭代对象,何为生成器,何为迭代器? 2.可迭代对象与迭代器之间的区别 3.生成器内部原理解析,for循环迭代内部原理解析 4.可迭代对象,迭代器,生成器,生成器函数之间关系 1.迭代 要搞清楚什么关于迭代器,生成器,可迭代对象,前提是我们要理解何为迭代。 阅读全文
摘要:
一、创建类和对象 面向对象编程,其实就是对“类”和“对象”的使用。 类就好比一个模板,而模板里面可以包含许多方法,这些方法可以被实例化的对象进行调用。 对象则是根据模板创建的实例,通过对象可以调用类中的方法。 首先,我们来创建一个类和对象: class Animal: def eat(self): 阅读全文
摘要:
1.作用域 在python中,作用域分为两种:全局作用域和局部作用域。 全局作用域是定义在文件级别的变量,函数名。而局部作用域,则是定义函数内部。 关于作用域,我要理解两点:a.在全局不能访问到局部定义的变量 b.在局部能够访问到全局定义的变量,但是不能修改全局定义的变量(当然有方法可以修改) 下面 阅读全文
摘要:
一、前言 def f1(): print('f1') def f2(): print('f2') def f3(): print('f3') def f4(): print('f4') a = 1 我们要导入另外一个模块,可以使用import.现在有这样的需求,我动态输入一个模块名,可以随时访问到导 阅读全文
摘要:
一、了解字符编码的知识储备 1. 文本编辑器存取文件的原理(nodepad++,pycharm,word) 打开编辑器就打开了启动了一个进程,是在内存中的,所以在编辑器编写的内容也都是存放与内存中的,断电后数据丢失,因而需要保存到硬盘上,点击保存按钮,就从内存中把数据刷到了硬盘上。在这一点上,我们编 阅读全文
摘要:
本文主要从以下几个方面来叙述: 1.PyListObject对象 2.PyListObject对象的创建与维护(包括对象的创建、删除、插入以及设置) 3.PyListObject对象缓冲池 一、PyListObject对象 一、PyListObject对象 首先来看看PyListObject对象的定 阅读全文