利用Python进行数据分析 – 第三章 ipython
标签: 读书笔记 python 数据分析
1. 启动ipython
cmd->ipython
2. TAB 自动完成
In: an<TAB>
an_apple and any
In: a = [1,2,3]
In: a.<TAB>
a.append a.extend a.insert a.remove a.sort
... ...
In: d:/<TAB>
d:/Program Files d:/Code
d:/Tools d:/DB
3. ? 内省
- ? 显示变量或方法的通用信息(包括DocString)
In: a?
Type: List
String Form: [1,2,3]
Length: 3
DocString:
list() -> new empty list
... ...
In: import datetime
In: datetime.t*?
datetime.time
datetime:timedelta
datetime:tzinfo
4. %run 命令,运行脚本文件
In: %run python_script.py arg1
#之后即可在此ipython交互环境直接访问脚本文件中的各import,函数和全局变量
#如需中断运行:Ctrl-C
5. %paste %cpaste 剪贴板(Ctrl-C中断)
6. 键盘快捷方式
命令 | 说明 |
---|
Ctrl-R | 历史命令搜索(部分匹配) |
Ctrl-Shift-V | 从剪贴板中粘贴文本 |
上箭头 | 后向搜索历史命令中以当前输入的文本开头的命令 |
下箭头 | 前向搜索历史命令中以当前输入的文本开头的命令 |
Ctrl-L | 清屏 |
7. 魔术命令
行级魔术命令(line magic) | 说明 |
---|
%quickref | 显示ipython的快速参考 |
%magic | 显示所有魔术命令的详细文档 |
%lsmagic | 列出所有魔术命令 |
%hist | 打印命令的输入历史 |
%paste | 粘贴并执行剪贴板中python代码 |
%debug | 从最新的异常跟踪的底部进入交互式调试器 |
%pdb | 在异常发生后自动进入调试器 |
%run script.py | 执行script.py脚本文件 |
%time statement | 报告statement的执行时间 |
%timeit statement | 多次执行statement以计算平均执行时间 |
%pdoc objName | 查看对象的pydoc |
%psource objName | 查看对象的源代码 |
%pdef funcName | 查看函数的声明 |
%pfile objName | 查看所在的源文件 |
8. 基于Qt的富GUI控制台
cmd->jupyter qtconsole
9. matplotlib集成模式打开ipython
cmd->ipython --pylab
进入ipython之后:
In: plot()
#将会另外打开一个GUI绘图窗口
10. 与操作系统交互
命令 | 说明 |
---|
!cmd | 在ipython shell中执行系统命令cmd |
output=!cmd args | 执行cmd,并将输出保存到output中 |
%alias alias_name cmd | 为系统命令cmd定义别名 |
%cd directory | 改变当前工作目录 |
%pwd | 返回当前工作目录 |
%env | 以dict形式返回系统环境变量 |
&varName | 在系统命令中引用python变量(e.g In: !echo $str ) |
%bookmark bkmk directory | 建立目录directory的书签,之后便可In: %cd bkmk |
11. 交互式调试 %debug
- 在运行python脚本之后,如果发生错误,使用%debug命令进入调试器
In: run script.py
**Error Traceback(most recent call last)
... ...
In: $debug
... ...
ipdb>
#输入u - up
#输入d - down
- 在运行python脚本时,使用run -d选项,会直接进入调试器
In: run -d script.py
Breakpoint 1 at script.py:1
NOTE: Enter 'c' at the ipdb> prompt to start your script.
ipdb> c
#之后便可使用各种ipdb的命令进行调试,如下:
#b line_number: 在line_number行设置断点
#c: continue,一般在设置断点之后,便可使用c命令,使代码运行到断点处
#n: step over,执行到下一行
#s: step into
#!variable_name: 查看变量variable_name的值
#h: 显示命令列表
#u(up)/d(down): 在函数调用栈中向上或向下移动
#a(rgs): 显示当前函数的参数
12. 测试代码的执行时间: %time %timeit