原标题:Python使用技巧最终篇(干货收藏)
51. 使用**而不是pow
%timeit -n 10000 c = pow(2,20)
%timeit -n 10000 c = 2**20
10000 loops, best of 3: 284 ns per loop
10000 loops, best of 3: 16.9 ns per loop 52. 使用 cProfile, cStringIO 和 cPickle等用c实现相同功能(分别对应profile, StringIO, pickle)的包
import cPickle
import pickle
a = range(10000)
%timeit -n 100 x = cPickle.dumps(a)
%timeit -n 100 x = pickle.dumps(a)
100 loops, best of 3: 1.58 ms per loop
100 loops, best of 3: 17 ms per loop
由c实现的包,速度快10倍以上!
53. 使用最佳的反序列化方式
下面比较了eval, cPickle, json方式三种对相应字符串反序列化的效率,可见json比cPickle快近3倍,比eval快20多倍。
import json
import cPickle
a = range(10000)
s1 = str(a)
s2 = cPickle.dumps(a)
s3 = json.dumps(a)
%timeit -n 100 x = eval(s1)
%timeit -n 100 x = cPickle.loads(s2)
%timeit -n 100 x = json.loads(s3)
100 loops, best of 3: 16.8 ms per loop
100 loops, best of 3: 2.02 ms per loop
100 loops, best of 3: 798 µs per loop
54. 怎么才算精通python
熟悉语法以及原声数据结构
熟悉基本实现中的性能特点,就是知道什么操作会慢
会使用profile以及基于profile的性能分析工具
会使用运行时编译和静态编译的工具。pypy,numba,cython,ctypes,original C/C++ extension
熟悉你所在领域的拓展库,比如我,科学计算方面的库不要太多,numpy衍生出来的一大堆大堆
了解基本的编译过程,基本的操作系统知识(只要你C、C++学的还行就可以了)
要想精通python,写的代码首先得pythonic
研读牛B的开源代码,在这过程中会遇到python的许多高阶用法
理解装饰器,生成器,描述符,元类
掌握list comprehension,
多用内置函数:map,reduce,filter,iter,range,divmod,round,chr,enumerate,all,any,slice,zip+
55. python 猴子补丁相关
python里有一个很奇妙的monkey patch,中文叫做猴子补丁,是指的是在运行时动态替换某些已加载的模块的实现。第一次了解这个概念是在使用gevent的时候,需要把python自带的socket,os等相关模块的实现改变成异步形式,但同时不改动python的源代码。
56. python 中时间格式转换
57. python 一行代码启动 http 服务器
python -mSimpleHTTPServer
作者:地球的外星人君
来源:知乎
Python使用技巧(一 )←点击查看
零基础入职数据分析就业班
课程的形式主要是“直播+录播”
报名专享: 课程项目作业+1v1班主任监督学习+爱数据学院学员专属网站+班级答疑群
课程结束后能熟练掌握 SQL、Python、Excel、PPT等工具
适合人群:
1.转行(岗位相关,专业相关、对数据分析感兴趣)
2.从事数据分析工作,但是需要提升技能以及增加实战经验
3.应届毕业生入职数据分析
点击“阅读原文”入职数据分析返回搜狐,查看更多
责任编辑: