python技巧总结

查看运行时间

用ipython的run命令做profiling,找出耗时语句

run -p xxx.py

ipynb文件

ipynb文件是用浏览器演示python交互的优良插件,可以提供运行代码,插图,文章说明,插入公式等多种功能。
只需在含有ipynb文件的的父目录位置执行

ipython notebook

即可生成shell服务器端,浏览器作为客户端展示出来。

内存优化

及时释放内存。大数组使用完之后,手动del释放array。注意所有对数组的引用都del之后,数组才会被del。这些引用包括A[2:]这样的view。
尽量重用内存,比如:

A = B + C # B is neverused later

可以改写成

B += C
A = B

py2exe

windows环境把python脚步打包成可执行程序,安装py2exe。注意使用pip install安装只能支持python3版本,要想在python2.7环境下使用py2exe,要在这里下载py2exe-0.6.9.win32-py2.7.exe

在脚步所在目录下新建一个setup.py文件,加入

from distutils.core import setup
import py2exe

setup(windows = ['xxxxxx.py'])

然后执行

python setup.py py2exe

然后可执行程序以及相关依赖都会创建在dist文件夹,打包带走dist即可。

random随机数模块

random.random

用于生成[0, 1.0)的随机浮点数

random.uniform(a, b)

生成[a, b]的随机浮点数

random.randint(a, b)

生成[a, b]的随机整数

random.choice(sequence)

从sequence中随机得到一个元素

random.shuffle(x[, random])

用于将列表x元素打乱顺序

random.sample(sequence, k)

从指定序列中随机获取长度k的片段,不改变原有序列