参考url:https://jakevdp.github.io/PythonDataScienceHandbook/01.00-ipython-beyond-normal-python.html
描述:笔记
1、用符号?获取文档,用??获取源代码
2、对象内容tab自动不全
3、支持通配符匹配
4、IPython快捷键
导航快捷键 | |
ctrl+a | 将光标移到本行的开始处 |
ctrl+e | 将光标移到本行的结尾处 |
ctrl+b | 将光标回退一个字符 |
ctrl+f | 将光标前进一个字符 |
文本输入快捷键 | |
Backspace | 删除前一个字符 |
ctrl+d | 删除后一个字符 |
ctrl+k | 从光标开始剪切至行的末尾 |
ctrl+u | 从行的开头剪切至光标 |
ctrl+y | 粘贴之前剪切的文本 |
ctrl+t | 交换前两个字符 |
命令历史快捷键 | |
ctrl+p | 获取前一个历史命令 |
ctrl+n | 获取后一个历史命令 |
ctrl+r | 对历史命令的反向搜索 |
其他快捷键 | |
ctrl+l | 清除终端屏幕的内容 |
ctrl+c | 中断当前的python命令 |
ctrl+d | 退出ipython会话框 |
5、ipython魔法命令
(1)行魔法以单个%字符作为前缀,作用于单行输入
(2)单元魔法以两个%%字符作为前缀,作用于多行输入
(3)粘贴代码块:%paste和%cpaste
(4)执行外部代码:%run + modelname.py
(5)魔法函数也能使用?获取帮助
(6)为了获得可用魔法函数的通用描述以及一些示例,可输入%magic
(7)为了快速而简单地获得所有可用魔法函数的列表,可输入%lsmagic
(8)print(_)更新以前的输出、print(__)获得倒数第二个历史输出、print(___)获得倒数第三个历史输出
(9)Out[X]的简写形式是_X(一条下划线加行号)
(10)IN对象是一个列表,按照顺序记录所有的命令
(11)Out对象是一个字典,它将输入数字映射到相应的输出
(12)%history魔法命令一次性获取此前所有的输入历史
(13)一行中任何在 ! 之后的内容将不会通过python内核运行,而是通过系统命令行运行
(14)%cd和%automagic
6、错误和调试
(1)%xmode魔法函数(简称异常模式),可以改变打印方式
%xmode有一个输入参数(模式),模式有3个可选项:Plain、Context(默认情况)和Verbose。
Plain紧凑,给出的信息少
Verbose模式加入一些额外的信息,包括任何被调用的函数的参数
(2)标准的Python交互式调试工具是pdb
(3)IPython增强版本的调试器是ipdb
ipdb提示符让你可以探索栈空间的当前状态,探索可用变量,甚至运行Python命令
(4)IPython中最方便的调试界面%debug魔法命令
(5)如果你希望在发生任何异常时都自动启动调试器,可以用%pdb魔法函数来启动这个自动过程
(6)可以用%run -d+modelname.py命令以交互式模式运行脚本,并利用next命令单步向下交互地运行代码
(7)常用命令及其描述
命令 | 描述 |
list | 显示文件的当前路径 |
h(elp) | 显示命令列表,或查找特定命令的帮助信息 |
q(uit) | 退出调试器和程序 |
c(ontinue) | 退出调试器,继续运行程序 |
n(ext) | 跳到程序的下一步 |
<enter> | 重复前一个命令 |
p(rint) | 打印变量 |
s(tep) | 步入子进程 |
r(eturn) | 从子进程跳出 |
7、代码的分析和计时
(1)%timeit可以让代码重复运行来计算代码的运行时间,通过%%timeit实现多行代码的计时
(2)%time对单个语句的执行时间进行计时,通过%%time实现多行代码的计时
(3)%prun分析整个脚本
(4)用%lprun进行逐行分析(在line_profiler包中)
(5)用%memit和%mprun进行内存分析(在memory_profiler包中)