IPython的安装及使用
一、简介
ipython是python的一个交互式shell,比默认的“python shell”更方便,支持变量自动补全,自动缩进,支持bash shell命令,内置了许多强大的功能和函数。
IPython是基于BSD开源的,并且IPython为交互式计算提供了一个丰富的架构,包含如下内容:
- 1.强大的交互式shell
- 2.工Jupyter notebook使用的jupyter内核
- 3.交互式的数据可视化工具
- 4.灵活、可嵌入的解释器
- 5.易于使用、高性能的并行计算工具
二、安装
- 1.升级pip:python -m pip install --upgrade pip
- 2.安装ipython:(Linux环境下sudo)pip install ipython
- 3.测试是否安装成功:ipython
- 4.退出ipython:quit或exit
若测试时报错: -bash: ipython: command not found
- Windows:将“Python安装目录/bin/”添加到环境变量PATH
- Linux:将“Python安装目录/bin/python”创建软连接放入“/usr/bin目录下”
三、使用技巧
-
1.Tab键自动补全:按下Tab键可将当前命名空间中任何与已输入的字符串相匹配的变量(函数、对象等)显示出来
注意:若没有自动补全功能, pip install pyreadline即可解决
-
2.内省:当某对象的信息不是很明确时,可以在变量的前面或后面加上问号**(?)**,有关该对象的一些通用信息就会显示出来
-
3.中断正在执行的代码:Ctrl+C
键盘中的快捷键
快捷键 | 作用 |
---|---|
Ctrl+P或↑ | 后向搜索命令 |
Ctrl+N或↓ | 前向搜索命令 |
Ctrl+R | 按行读取反向历史搜索(部分匹配) |
Ctrl+Shift+V | 从剪切板粘贴文本 |
Ctrl+A | 将光标移动到行首 |
Ctrl+E | 将光标移动到行尾 |
Ctrl+K | 删除从光标开始到行尾的文本 |
Ctrl+U | 清除从光标开始到行首的文本 |
Ctrl+F | 将光标向前移动一个字符 |
Ctrl+B | 将光标向后移动一个字符 |
Ctrl+L | 清屏 |
四、魔术命令
%run
- 作用:运行python程序
- 格式:%run+路径+Python文件名称
%time
- 作用:一次执行代码的总体时间,其结果是会变的,更为精确的结果应使用魔术函数%timeit
%timeit
- 作用:可快速测量代码运行时间,相同的命令会在一个循环中多次执行,多次运行时长的平均值作为该命令的最终评估时长
- -r选项控制执行循环的次数,
- -n选项可以控制命令在单词循环中执行的次数
%paste
- 作用:将剪切板中复制的代码直接粘贴到IPython中并自动执行
%cpaste
- 作用:与%paste命令类似,也是粘贴文本,但有所不同的是%cpaste命令在输入后会出现提示信息
- 提示信息的意思是可不断粘贴代码到IPython中,直接输入“–”并回车或使用Ctrl+D结束粘贴
- 在需粘贴的代码量比较大时,可实现代码的分步粘贴,粘贴完成手动结束,且不用担心代码被提前执行
%reset
- 作用:删除interactive命名空间中全部的变量(interactive命名空间是存储Python变量和名称的空间)
%hist
- 作用:查看历史命令
%pylad
- 作用:可使NumPy和Matplotlib中的科学计算功能生效,这些功能被称为基于向量和矩阵的高效操作、交互可视化特性
- 它能够让开发人员在控制台进行交互式计算和动态绘图
%logstart
- 作用:开启IPython日志
- 格式:%logstart [logname [logmodel]]
参数 | 说明 |
---|---|
logname | 日志保存路径 |
logmosel | 日志模式 |
日志模式的值 | 说明 |
---|---|
over | 若存在log,则直接覆盖之前的log |
backup | 默认模式,若存在log则直接将之前的log备份 |
append | 在之前log中追加 |
rotate | 回滚 |
%magic
- 作用:查看魔术命令,可直接显示所有魔术命令的详细文档
- 退出:q
%pdb
- 作用:在异常点启动调试器,接下来就能在调试模式下访问所有的本地变量和整个栈回溯,可使用u和d来向上和向下访问栈
- 使用q退出调试器,在调试器中输入?可查看所有可用命令
%debug
- 作用:从最新的异常跟踪的底部进入交互调试器
%quickref
- 作用:显示IPython的快速参考
五、执行shell命令
执行命令:! shell命令
还可以接收命令的返回值:变量 = ! shell命令