摘要: 非并发程序(用于对比) 从网上下载20个国家的国旗图像: 结果: Future类 标准库中有两个名为Future的类:concurrent.futures.Future和asyncio.Future。这两个类作用相同:他们的实例都表示可能已经完成或者尚未完成的延迟计算。 一般来说,使用Executo 阅读全文
posted @ 2019-02-12 21:56 Sakura_lht 阅读(1967) 评论(0) 推荐(1) 编辑
摘要: 协程 定义:协程不是进程或线程,其执行过程更类似于子例程,或者说不带返回值的函数调用。 协程与线程:一个程序可以包含多个协程,可以对比与一个进程包含多个线程,因而下面我们来比较协程和线程。我们知道多个线程相对独立,有自己的上下文,切换受系统控制;而协程也相对独立,有自己的上下文,但是其切换由自己控制 阅读全文
posted @ 2019-02-05 23:30 Sakura_lht 阅读(227) 评论(0) 推荐(0) 编辑
摘要: 上下文管理器和with模块 上下文管理器对象存在的目的是管理with语句。with语句的目的是简化try/finally模式。这种模式用于保证一段代码运行完毕后执行某项操作,即便那段代码异常,return语句调用或sys.exit()调用而中止,也会执行操作。finally子句中的代码通常用于释放重 阅读全文
posted @ 2019-01-27 21:34 Sakura_lht 阅读(177) 评论(0) 推荐(0) 编辑
摘要: 概述 迭代是数据处理的基石,扫描内存中放不下的数据时,我们需要找到一种惰性获取数据项的方式,即按需一次获取一个数据项。这就是迭代器模式。 在python中,所有集合都可以迭代。在python语言内部,迭代器用于支持: (1)for循环 (2)构建和扩展集合类型 (3)逐行遍历文本文件 (4)列表推导 阅读全文
posted @ 2019-01-25 22:28 Sakura_lht 阅读(2095) 评论(0) 推荐(0) 编辑
摘要: 接口和协议 Python没有Interface关键字,而且除了抽象基类,每个类都有接口:类实现或继承的公开属性,包括特殊方法(如__getitem__或__add__)。按照约定,受保护的属性和私有属性不在接口中(即使受保护属性也只是采用命名约定实现的;私有属性也可以轻松的访问)不要违背这些约定。 阅读全文
posted @ 2019-01-23 21:14 Sakura_lht 阅读(596) 评论(0) 推荐(0) 编辑
摘要: python对运算符重载的一些限制 1.不能重载内置类型的运算符 2.不能新建运算符,只能重载现有的 3.某些运算符不能重载:is、and、or、not 建立某Vector类 1 from array import array 2 import reprlib 3 import math 4 5 6 阅读全文
posted @ 2019-01-22 22:48 Sakura_lht 阅读(10068) 评论(0) 推荐(0) 编辑
摘要: 不要子类化内置类型 内置类型(由C语言编写)不会调用用户定义的类覆盖的特殊方法。 例如,子类化dict作为测验: 原生类型这种行为违背了面向对象编程的一个基本原则:始终应该从实例所属的类开始搜索方法,即使在超类实现类的调用也是如此。这种环境中,有个特例,即__miss__方法能按预期工作。 不止实例 阅读全文
posted @ 2019-01-21 20:22 Sakura_lht 阅读(7115) 评论(0) 推荐(0) 编辑
摘要: 新Vector类 接原vector类定义的新Vector类,原向量类是二维,现定义多维向量类: 协议和鸭子类型 协议: 1.协议是非正式的接口,没有强制力;协议只在文档中定义,在代码中不定义。 2.python有很多协议,如可调用对象协议,哈希协议,序列类协议,容器类协议等等等等。 3.如果知道类的 阅读全文
posted @ 2019-01-20 22:51 Sakura_lht 阅读(495) 评论(0) 推荐(0) 编辑
摘要: 对象表示形式 python提供了两种获取对象字符串表示形式的标准方式 repr() //便于开发者理解的方式返回对象的字符串表示形式(一般来说满足obj==eval(repr(obj))) str() //便于用户理解的方式返回对象的字符串表示形式 要使对象能这两种内置函数的参数,需要实现__rep 阅读全文
posted @ 2019-01-18 22:42 Sakura_lht 阅读(334) 评论(0) 推荐(0) 编辑
摘要: 变量="标签" 变量a和变量b引用同一个列表: 使用"标签"很形象的解释了变量 > 列表[1, 2, 3]是一个物品,而a和b都是给这个物品贴上的标签。因此,改变a的内容,b的内容也改变了。 "is"和"==" 有一个人叫做李华,1997年生,身体情况工作信息记录为info,有个小名叫"小华"。 可 阅读全文
posted @ 2019-01-17 22:37 Sakura_lht 阅读(1104) 评论(0) 推荐(0) 编辑