利用Python进行数据分析 - 第三章 ipython

利用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查看所在的源文件
  • 块级魔术命令(cell magic) %%

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

  • %time:执行一次语句,报告执行时间
    原文作者:rabbitq0082
    原文地址: https://www.jianshu.com/p/35ae37d5a72e
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞