高效的 python 实践总结

发布于 2022-12-23 22:06:46 字数 1291 浏览 67 评论 0

  1. 资源固定的情况下, 少干活才是硬道理。即好的算法胜过一切。

  2. C 优于 Python + ctypes 优于 Python 3.2 优于 Python2.7。

  3. 语言内部功能对比。
    3.1 优先级:set > dict > list
    3.2 合理使用生成器(generator)和 yield
    3.3 join() 优于+优于%
    3.4 使用a,b=b,a而不是c=a;a=b;b=c;来交换 a,b 的值
    3.5 使用 if is True 而不是 if == True
    3.6 使用级联比较x < y < z
    3.7 while 1 比 while True 更快
    3.8 使用 ** 而不是 pow
    3.9 使用局部变量,避免 global 关键字
    3.10 优先使用 xrange() 而不是 range()
    3.11 sorted(iterable[,cmp[,key[,reverse]]])sort(cmp[,key[,reverse]]) 中优先使用 key 而不是 CMP
    3.12 build in 函数通常较快,add(a,b) 要优于 a+b

  4. 如何开启性能优化。

    1. 拒绝调优诱惑。
      1. 你做了性能测试报告吗?
      2. 你能减少硬盘的 I/O 访问吗?
      3. 你能减少网络 I/O 访问吗?
      4. 你能升级硬件吗?
      5. 你是为其它开发者编译库吗?
      6. 你的第三方库软件是最新版吗?
    2. 使用工具监控代码,而不是直觉,总结文档中有不少样例。
    3. 审查时间复杂度。
    4. 使用第三方包。
      1. NumPy: 一个开源的相当于 MatLab 的包
      2. SciPy:另一个数值处理库
      3. GPULib:使用GPUs加速代码
      4. PyPy:使用 just-in-time 编译器优化 Python 代码
      5. Cython:将 Python 优码转成 C
      6. ShedSkin:将 Python 代码转成 C++

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据

关于作者

JSmiles

生命进入颠沛而奔忙的本质状态,并将以不断告别和相遇的陈旧方式继续下去。

0 文章
0 评论
84961 人气
更多

推荐作者

浪漫人生路

文章 0 评论 0

620vip

文章 0 评论 0

羞稚

文章 0 评论 0

走过海棠暮

文章 0 评论 0

你好刘可爱

文章 0 评论 0

陌若浮生

文章 0 评论 0

    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文