Python
qq_43028008
Be who you were created to be, and you will set the world on fire。
展开
-
LRU Cache 最近最少使用算法
什么是 LRU CacheLRU Cache 算法是 Least Recently Used,也就是最近最少使用算法。对于一个操作系统来说,我们的缓存是有限的,所以有的时候我们必须要舍弃掉一些 object 来增加当前程序的运行效率。LRU Cache 算法的概念是:当缓存空间满了的时候,将最近最少使用的数据从缓存空间中删除以增加可用的缓存空间来缓存新的数据。这个算法的核心是一个缓存列表,当我...原创 2019-11-01 11:04:21 · 439 阅读 · 0 评论 -
Anaconda环境移植方法总结
一.生成yourfilename.yml文件的方式conda env list 查找所有环境conda activate yourenvname yourenvname为要导出的环境名称conda env export --file name.yml 导出环境到yml文件,文件名为 name.yml(name名字自己随便取,保存路径为当前路径)将name.yml文件复制到目...原创 2019-07-28 20:28:17 · 4676 阅读 · 1 评论 -
xpath的总结
1. XPath语法XPath 是一门在 XML 文档中查找信息的语言。XPath 可用来在 XML 文档中对元素和属性进行遍历。XPath 是 W3C XSLT 标准的主要元素,并且 XQuery 和 XPointer 都构建于 XPath 表达之上1.1 节点的关系父(Parent)子(Children)同胞(Sibling)先辈(Ancestor)后代(Descendan...原创 2019-07-06 21:23:40 · 119 阅读 · 0 评论 -
python 中的内存管理和垃圾回收机制
内存管理机制:引用计数、垃圾回收、内存池。引用计数:引用计数是一种非常高效的内存管理手段, 当一个 Python 对象被引用时其引用计数增加1, 当其不再被一个变量引用时则计数减 1, 当引用计数等于0时对象被删除。垃圾回收 :引用计数引用计数也是一种垃圾收集机制,而且也是一种最直观,最简单的垃圾收集技术。当 Python 的某个对象的引用计数降为 0 时,说明没有任何引用指向该...转载 2019-07-11 15:24:00 · 202 阅读 · 0 评论 -
Python Async/Await的使用
今天遇到一个使用Python标准库当中asyncio中async/await的程序,之前没有太了解,在网上查了一下,发现一篇介绍的很细致的博文,在这里[分享并mark一下]。(https://zhuanlan.zhihu.com/p/27258289)...转载 2019-07-10 21:15:41 · 4459 阅读 · 0 评论 -
python中的堆栈帧
Python 堆栈帧基本上就是对 x86 的模拟,⽤指针对应 BP、SP、IP 寄存器。堆栈帧成员包括函数执行所需的名字空间、调⽤堆栈链表、异常状态等。BP是基指针, SP是栈指针, IP是指令指针. 通常BP用来保存使用局部变量的地址,SP用来指向当前的栈,IP用来指示当前运行程序的当前指针。typedef struct _frame { PyObject_VAR_HEAD struct ...原创 2019-07-10 10:59:48 · 1436 阅读 · 0 评论 -
用conda创建python虚拟环境
1、首先在所在系统中安装Anaconda。可以打开命令行输入conda -V检验是否安装以及当前conda的版本。2、conda常用的命令。1)conda list 查看安装了哪些包。2)conda env list 或 conda info -e 查看当前存在哪些虚拟环境3)conda update conda 检查更新当前conda3、创建python虚拟环境。 使用 con...转载 2019-07-10 10:37:32 · 186 阅读 · 0 评论 -
python输出警告信息
使用warning.warn()函数,可以输出截稿信息:import warnings def func(x, y, logfile=None, debug=False): if logfile is not None: warnings.warn('logfile argument deprecated', DeprecationWarning)使用warning.si...原创 2019-07-09 21:57:59 · 4356 阅读 · 0 评论 -
对python代码进行性能测试
1,使用装饰器:from functools import wrapsimport timedef timethis(func): @wraps(func) def wrapper(*args,**kwargs): start = time.perf_counter() r = func(*args,**kwargs) end ...原创 2019-07-09 21:34:13 · 1421 阅读 · 0 评论 -
python提高代码运行效率的小技巧
.将全局范围的代码放入函数中,使用函数大概能带来15%~30%的性能提升,这种速度差异是由于局部变量和全局变量的实现方式(使用局部变量要更快些);尽量去掉属性访问,每一次使用(.)操作符来访问属性时会带来额外的开销,它会触发特定的方法,比如__getattribute__()和__getattr__(),这些方法会进行字典操作操作;import math def compute_...原创 2019-07-09 21:28:34 · 279 阅读 · 0 评论 -
通过某字段将记录分组
from operator import itemgetterfrom itertools import groupbyrows = [ {'address': '5412 N CLARK', 'date': '07/01/2012'}, {'address': '5148 N CLARK', 'date': '07/04/2012'}, {'address': '58...原创 2019-07-02 22:02:43 · 112 阅读 · 0 评论 -
统计序列中出现次数最多的元素
当我们遇到一大段文本该如何获取文本中热词,首先我先对文本进行序列化(序列化过程就不说了),然后对其进行统计:常规思路words = [ 'look','into','my','eyes','look','into','my','eyes','the', 'eyes','the','eyes','the','eyes','not','around','the','eyes', ...原创 2019-07-01 22:38:21 · 631 阅读 · 0 评论