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

Tab键自动完成:
1.变量补全
2.对象方法、属性补全
3.模块方法、属性补全(Ipython默认隐藏以”_”开头的方法属性,如果想显示需要手动设置配置文件)
4.路径补全(在字符串中也可以)
这里写图片描述

对象内省(object introspection)
这里写图片描述
如果该对象是一个函数或实例方法,则其docstring(如果有)也会显示:
这里写图片描述
使用??显示源代码(如果可能的话):
这里写图片描述

?的其他用法:
这里写图片描述

%run命令运行脚本:
脚本:

def sum(a,b,c):
    return a + b + c
a = 1
b = 2
c = 3
result = sum(a,b,c)

测试:
这里写图片描述

中断正在执行的代码
Ctrl-C

粘贴代码块执行
%paste:Windows下复制代码后在命令行输入%paste直接运行
%cpaste:Windows下复制代码后输入%cpast,右键粘贴,再输入’–’运行

IPython快捷键:
这里写图片描述

常用的魔术命令:
这里写图片描述
魔术命令默认是可以不带百分号使用的,只要没有定义与其同名的变量即可。这个技术叫作automagic,可以通过%automagic打开或者关闭。

matplotlib集成与pylab模式
ipython –pylab
1.IPython会启用默认GUI后台集成,这样matplotlib绘图窗口创建就没问题了(不然代码会一直卡在这里)
2.Numpy和matplotlib的大部分功能会被引入到最顶层的interactive命名空间

输入变量和输出变量
输入的文本被保存在_ix中,其中x是输入的行号。每个输入变量都有一个对应的输出变量_x.
这里写图片描述

记录输入输出日志:
%logstart

与操作系统交互
这里写图片描述

目录书签系统,%bookmark
这里写图片描述

交互式调试器
使用%debug进行调试
1.在运行异常代码后,输入%debug进入最底层发生异常的栈帧
2.u为进入上级栈帧,d为进入下级栈帧
这里写图片描述

使用%run -d进入调试状态
这里写图片描述
这里写图片描述

一些调试功能函数

import sys
#放在想要调试的上面一行,可以让程序在此停止运行并进入调试状态,相当于设置断点并且让程序在此进入调试
def set_trace():
    from IPython.core.debugger import Pdb
    Pdb(color_scheme='Linux').set_trace(sys._getframe().f_back)

def debug(f,*args,**kwargs):
    from IPython.core.debugger import Pdb
    pdb = Pdb(color_scheme='Linux')
    return pdb.runcall(f,*args,**kargs)
db.set_trace()放入的地方
def calling_things():
    works_fine()
    db.set_trace()
    throws_an_exception()

这里写图片描述

测试代码执行时间:%time和%timeit
%time一次执行一条语句,然后报告总体运行时间
这里写图片描述

%timeit,多次执行,产生平均值
这里写图片描述

这里写图片描述

基本性能分析 %prun和%run -p
python -m cProfile -s cumulative xxxx(运行文件名),分析文件
或者用%run -p -s cumulative xxxx魔术命令

%prun -l 7 -s cumulative add(1,2),运用魔术命令进行性能分析,分析语句
这里写图片描述

逐行分析函数性能
%lprun -f func1 -f func2
需要安装line_profiler库,功能很强大,现在没装,mark一下

自定义类友好输出,重写repr()方法:
这里写图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值