IPython——一种交互式计算和开发环境
在cmd中直接运行ipython来启动IPython,其运行功能类似与jupyter notebook(在cmd中输入jupyter notebook指令来运行)
- Tab:补全
- ?:在变量后加?可查看该变量的一些通用信息;??可以显示函数源码;与*一起可以实现类似于UNIX和Windows命令行中的通配符查询;后面将看到在魔术命名后加?还能够查看对应魔术命名的选项
- ipython --pylab:使得shell集成matplotlib
- 输入输出历史:下划线(_):最近一次输出结果;双下划线(__):最近第二次输出结果;_27:第27次标示的输出结果;_i27:第27次标示的输入;
- exec():执行对应代码
- !:以感叹号开头表示其后的所有内容需要在系统shell中执行
- $:可以引用当前环境中的python值
- reload:对于之前load同时修改了对应库的环境,直接load只会添加老版的环境,可以通过在load之后添加reload(libname)来加载最新版本
- __repr__:指定某个类的返回形式
- 无惧大文件:多个小文件不如一个大文件在调试起来来的痛快。可以在解决完所有问题之后,再将大文件拆分成几个小文件
- --pylab:在启动IPython时,以 pylab 模式启动可以将IPython配置为使用你所指定的 matploblib GUI 后端
键盘快捷键
- Ctrl+C:中断正在执行的代码
- Ctrl+A:将光标移动到行首
- Ctrl+E:将光标移动到行尾
- Ctrl+K:删除从光标开始至行尾的文本
- Ctrl+U:删除从光标开始至行首的文本
- Ctrl+L:清屏
魔术命令
- %automagic:魔术命令默认是可以不带百分号使用的,并可以通过 %automagic 打开或关闭
- %run:运行指定脚本文件,其命名空间为空相当于直接运行 python filename 等效;通过添加 -i 选项可以实现引用当前IPython中定义的变量;-d选项能够以调试方式运行脚本;-b可以添加断点;-p可以分析代码中各函数的运行情况
- %paste:粘贴剪切板中的一切文本,并在shell中以整体形式立即执行;%cpaste会多出一个用于粘贴代码的特殊提示符
- %alias:为shell命名自定义简称;不过这些别名将在当前会话关闭时失效
- %bookmark:设置一个标签,可以通过cd进行直接跳转,且永久有效;-l 将列举当前的所有书签
- %debug:在发生异常后立即输入将会调用“事后”调试器,并直接跳转到引发异常的那个栈帧;默认定位到最低层,可以通过 u 和 d 来调整栈帧位置
- %pdb:在设置开关状态,在程序出现异常后自动的启动调试
- %time:执行其后的单条语句并给出它的运行时间;%timeit:会执行多次指定的指令,并给出平均执行时间
- %prun:类似于 %run -p 和 python -m cProfile filename;只不过其是针对Python语句而不是整个文件
- %reset:删除interactive命名空间中的全部变量/名称
程序调试(%run -d 进入)
- s:单步进入调试;n:单步跳过调试;b:添加断点;c:运行到断点;!或p:查看变量值;q:退出调试
- set_trace():程序会在函数定义位置中断