常用快捷键
快捷键 | 功能 |
---|---|
backspace | 删除前一个字符 |
ctrl+d | 删除后一个字符 |
ctrl+k | 从光标开始剪切至行的末尾 |
ctrl+u | 从行的开头剪切至光标 |
ctrl+y | 粘贴之前剪切的文本 |
ctrl+t | 交换前两个字符 |
ctrl+a | 将光标移动到本行的开始处 |
ctrl+e | 将光标移动到本行的结尾处 |
ctrl+b | 将光标回退一个字符 |
ctrl+f | 将光标前进一个字符 |
ctrl+p | 获取前一个历史命令 |
ctrl+n | 获取后一个历史命令 |
ctrl+r | 对历史命令的反向搜索 |
ctrl+l | 清除终端屏幕的内容 |
ctrl+c | 终端当前的python命令 |
ctrl+d | 退出ipython会话 |
ipython魔法
行魔法(line magic)和单元魔法(cell magic)
行魔法以单个%字符作为前缀,作用于单行输入;单元魔法以两个%%作为前缀,作用于多行输入。
%paste魔法函数可以解决这个包含符号的多行输入问题。
%cpaste打开一个交互式多行输入提示,你可以在这个提示下粘贴并执行一个或多个代码块。
%run当你开发更复杂的代码时,可能会发现自己在使用Ipython进行交互式探索的同时,还需要使用文本编辑器存储你希望重用的代码。在Ipython会话中运行之前的代码非常方便,不用在另一个新窗口中运行这些程序代码。
%run myscript.py
这段代码过后,可以直接使用这个程序中的函数,比如
square(5)
%timeit 会自动计算接下来一行的python语句的执行时间。
%timeit L= [n ** 2 for n in range(1000)]
%%timeit
l = []
for n in range(1000):
l.append(n**2)
%time 对于运行时间较长的命令来说,如果较短的系统延迟不太可能影响结果,那么%time魔法函数也是一个不错的选择。
但%timeit通常比%time更快得到结果
为了获得可用魔法函数的通用描述以及一些示例:%magic
为了快速而简单地获得所有可用魔法函数的列表:%lsmagic
要禁止一个命令的输出,最简单的方式就是在行末尾处添加一个分号。
分析整个脚本:%prun
%prun sum_of_lists(1000)
%lprun进行逐行分析
可能%prun并没有内置于Python或Ipython,可以通过安装line_profiler包来实现。首先利用Python的包管理工具pip install line_profiler
% load_ext line_profiler
然后就可以使用了
用%memit和%mprun进行内存分析
pip install memory_profiler
%memit是对整个模块起作用,而%mprun只对独立模块内部的函数有效,所以需要先创建一个函数,然后再分析其中的函数。