python进阶

Python数据科学手册(一)【IPython入门】

2017-08-31  本文已影响42人  nummycode

节选自 《Python data science handbook》

获取帮助

$ pip install line_profiler获取帮助与文档

快捷键

快捷键 操作
Ctrl-a 将光标移至当前行的开头
Ctrl-e 将光标移至当前行的结尾
Ctrl-b 或者左箭头 将光标向后移动一个字符
Ctrl-f 或者右箭头 将光标向前移动一个字符
快捷键 操作
回车键 删除前一个字符
Ctrl-d 删除后一个字符
Ctrl-k 删除从光标到行尾的字符
Ctrl-u 删除从行头到光标的字符
Ctrl-y 粘贴之前剪切的文本
Ctrl-t 交换前面的两个字符
快捷键 操作
Ctrl-p (或者上箭头) 获取上一条历史命令
Ctrl-n (或者下箭头) 获取下一条历史命令
Ctrl-r 反向搜索历史命令
快捷键 操作
Ctrl-l 清空
Ctrl-c 中断当前命令
Ctrl-d 退出IPython会话

魔法命令

输入输出

输入和输出通过In/Out标签标示,实际上InOut分别是两个变量,保存了最近的输入输出信息。可以直接通过下标获取之前的输入或者输出。

In [4]: print(In)
['', 'import math', 'math.sin(2)', 'math.cos(2)', 'print(In)']

In [5]: Out
Out[5]: {2: 0.9092974268256817, 3: -0.4161468365471424}
In [6]: print(In[1])
import math

还可以通过_获取前一个输出结果,__获取倒数第二个输出结果,___获取倒数第三个输出结果。除此之外,也可以通过_x+序号获取第x个输出结果。

在命令后面加;可以隐藏输出结果。

IPython也提供了魔法命令%history来获取历史输入。

In [16]: %history -n 1-4
   1: import math
   2: math.sin(2)
   3: math.cos(2)
   4: print(In)

shell命令

可以在IPython中直接运行shell命令, 只要在命令前面加上!即可。也可以将shell命令的结果传递给Python变量。如果需要将Python变量传递给shell,将变量用{}括起来即可。

In [4]: contents = !ls

In [5]: print(contents)
['myproject.txt']

In [9]: message = "hello from Python"
In [10]: !echo {message}
hello from Python

异常和调试

性能测试

IPython提供了以下魔法命令用于性能测试:

后面四条命令需要安装line_profilermemory_profiler 扩展。

通常%timeit的执行速度比%time要快,因为它做了一些优化,可以省去部分垃圾回收。

其它

pylab模式
在pylab模式下,IPython将自动导入SciPy、NumPy和Matplotlib模块。如果没有这个功能,我们只能手动导入每一个所需模块。

$ ipython --pylab 
上一篇下一篇

猜你喜欢

热点阅读