摘要: Python:range、np.arange和np.linspace的区别与联系 range是python内置的一个类,该类型表示一个不可改变(immutable)的数字序列,常常用于在for循环中迭代一组特殊的数;numpy.arange是NumPy包的一个函数,它的功能与Python内置的range类似,但该类与Python内置的range区别有两点:一是支持小数参数,二是返回ndarray类型而非像range那样常常做为(隐式转换为)list类型使用;numpy.linspace也是Numpy内置的一个函数,它和numpy.arange类似,但是它不再是简单的[start, stop)左闭右开,也没有使用步长step,而是使用样本个数num。 阅读全文
posted @ 2022-03-21 22:21 orion-orion 阅读(1264) 评论(0) 推荐(0) 编辑
摘要: Python:用pyinstrument做性能分析 在计算密集型计算或一些Web应用中,我们常常需要对代码做性能分析。在Python中,最原始的方法即是使用time包中的time函数(该函数以秒为计时单位)。但是一旦函数多了起来,这种方式显然过于繁杂。类似C语言中的cProfile,在Python中,也有专门的性能分析工具pyinstrument(该库非内置,需要使用conda/pip安装),我们在复杂的项目中可以使用它来代替简陋的time.time()。 阅读全文
posted @ 2022-03-21 14:50 orion-orion 阅读(1498) 评论(0) 推荐(0) 编辑
摘要: Python:用tqdm模块绘制进度条 在计算密集型迭代计算中,我们常常需要知道当前的迭代轮次,最传统的方法就是打印当前迭代计数器的轮数。那有没有更好的方法呢?我们可以使用tqdm模块(非py内置,需要单独按照)来在控制台绘制进度条,这样更加直观。最简单的一种方法是直接做为迭代器使用,还有一种稍复杂的方法,就是自定义进度条计数器的更新。 阅读全文
posted @ 2022-03-21 11:01 orion-orion 阅读(690) 评论(0) 推荐(0) 编辑