Python科学计算学习:从入门到放弃系列(4)工具篇IPython(Jupyter Notebook)介绍增补

魔法命令

%timeit 对于单行语句进行时间测试,跟代码写同一行

%%timeit:测试整个单元的运行时间 ,用起来比在SublimeText等计时方便多了。

迭代器

下面是使用迭代器生成一个列表的快捷方法,可以代替for循环,语法更加简洁。

[key for key, value in np.typeDict.items() if value is np.float64]  # 非常简洁的把数据挑了出来

关于运算速度

如果是单纯数字运算,没必要使用numpy的数值类型。numpy的数值类型,进行浮点运算速度会慢于Python内置浮点类型,因为它包含了更多的信息在每一个元素中。所以接下来,比如求解微分方程等,都有 x.tolist() 的命令,即把数据类型转换成Python内置类型。

产生等分区间

使用 linspace() 和 logspace(), 不包含终点,步长很容易算!如 [ 0 , 1 , 10 ] [0, 1, 10] [0,1,10], 那么步长就是 ( 1 − 0 ) 10 = 0.1 \frac{(1-0)}{10}=0.1 10(10)=0.1。 这些命令多用于画图和求解微分方程,产生每一个时间点。

Numpy里快速产生列表

np.zeros(4, np.int)

注意用法里面有指定类型

数组

区分 共享内存和 不共享内存的区别

共享是因为,只是按顺序截取,出于简单的原则,没必要再开辟一段存储空间(切片方式截取)

不共享,是那种挑着找元素的情况。

总结

好久没打开博客,发现这篇写一半,就顺手补充完整。

你可能感兴趣的:(学习札记)