Python 性能分析大全

虽然运行速度慢是 Python 与生俱来的特点,大多数时候我们用 Python 就意味着放弃对性能的追求。但是,就算是用纯 Python 完成同一个任务,老手写出来的代码可能会比菜鸟写的代码块几倍,甚至是几十倍(这里不考虑算法的因素,只考虑语言方面的因素)。很多时候,我们将自己的代码运行缓慢地原因归结于python本来就很慢,从而心安理得地放弃深入探究。

但是,事实真的是这样吗?面对python代码,你有分析下面这些问题吗:

  • 程序运行的速度如何?
  • 程序运行时间的瓶颈在哪里?
  • 能否稍加改进以提高运行速度呢?

为了更好了解python程序,我们需要一套工具,能够记录代码运行时间,生成一个性能分析报告,方便彻底了解代码,从而进行针对性的优化(本篇侧重于代码性能分析,不关注如何优化)。

阅读全文

由 sort 中 key 的用法浅谈 python

用 Python 时间也算不短了,但总感觉自己在用写 C++ 代码的思维写 Python,没有真正用到其作为脚本语言的优势。之前刷 LeetCode 时,自己的 Python 代码总是很长,很像披着 Python 外衣的 C++ 代码(放在这里,不断重构中)。

Python不是C++

阅读全文

让我们一起愉快地逃课吧

逃课,在大多数人眼中都是“坏学生”的专利,一说起逃课,就会联想起逃课打游戏,逃课出去玩,逃课把妹等。然而,还可以为了学习而逃课,这里我们要说的就是逃课去学习的故事。

为什么我要逃掉算法课?

写这篇文章的时候我本来应该在教室上《算法分析与设计》这门课,算法对于学计算机的同学来说,重要性不言而喻。我们应该花费大量的时间去熟悉各种算法,同时了解算法背后的思想。那么我为什么会逃掉这么重要的一门课呢?

阅读全文