Python执行方式的速度对比

本测试的主要目的是对比python在并发和并行下的程序执行速度,希望能够给以后coding和模块选择提供参考。 样例代码是参考自《Fluent Python》。 按照类型和模块,将代码分成5种,分别是: 常规顺序执行(或者说是同步模式、普通模式) 多进程模块Multiprocessing 多线程模块Multithreading 异步模块asyncio 并行cocurrent.future模块 以下代码详见github仓库 代码展示 1. 常规顺序执行... Read More

Comments: 0   Category: Python   Time:

多进程、多线程和异步IO

一. 基本概念 1. 同步和异步 同步和异步的概念是调用者执行调用后对结果的获取处理方式 同步Synchronize:调用函数后,由调用者主动查询返回的调用结果。 一直等待就是堵塞 如果用轮询等方式查询,即为非堵塞 异步Asynchronize:调用者发出调用后就转而继续执行其他操作,不查询调用结果。当调用完成后,所调用的函数会通过通知或回调的方式来通知调用者。对于异步调用,调用的返回并不受调用者控制。 通知: 当被调用者执行完成后,发出通知告知调用者,无需消耗太多性能。 回调:... Read More

Comments: 0   Category: Python   Time:

正则表达式

应用场景: 测试字符串内的模式。 例如,可以测试输入字符串,以查看字符串内是否出现电话号码模式或信用卡号码模式。这称为数据验证。 替换文本。 可以使用正则表达式来识别文档中的特定文本,完全删除该文本或者用其他文本替换它。 基于模式匹配从字符串中提取子字符串。 可以查找文档内或输入域内特定的文本。   python应用模块: re库 Both patterns and strings to be searched can be Unicode strings (str) as well as... Read More

Comments: 0   Category: Python   Time:

迭代器、生成器和可迭代对象

1. 可迭代对象Iterable: 如果对象实现了__iter__方法或实现了__getitem__方法,且其参数是从零开始索引的,则称为可迭代对象(Iterable) 凡是可作用于for循环的对象都是可迭代对象。 python内置的数据类型,像list、tuple、dict、set、str等都是可迭代对象。   可迭代对象不是迭代器!!!python从可迭代对象中获取迭代器。 Iterable.__iter__方法应该返回一个Iterator 实例。   判断是否可迭代对象的方法:... Read More

Comments: 0   Category: Python   Time: