ipython介绍及使用
1. IPython介绍
ipython
是一个python
的交互式shell
,比默认的python shell
好用得多,支持变量自动补全,自动缩进,支持bash shell
命令,内置了许多很有用的功能和函数。学习ipython
将会让我们以一种更高的效率来使用python
。同时它也是利用Python进行科学计算和交互可视化的一个最佳的平台。
IPython提供了两个主要的组件:
1.一个强大的python交互式shell
2.供Jupyter notebooks使用的一个Jupyter内核(IPython notebook)
IPython的主要功能如下:
1.运行ipython控制台
2.使用ipython作为系统shell
3.使用历史输入(history)
4.Tab补全
5.使用%run
命令运行脚本
6.使用%timeit
命令快速测量时间
7.使用%pdb
命令快速debug
8.使用pylab
进行交互计算
9.使用IPython Notebook
2. 安装IPython
ipython支持Python2.7版本或者3.3以上的版本,我用的是windows下的python 3.4版本。
安装ipython很简单,可以直接使用pip管理工具即可:
pip install ipython
- 1
这条命令会自动安装IPython以及它的各种依赖包
如果我们也想在notebook中或者在Qt console中使用IPython,我们还需要安装Jupyter,如下命令:
pip install jupyter
- 1
另外我们还可能需要安装一些用到的库:
NumPy高性能多维数组矢量运算库:
pip install numpy
- 1
Matplotlib绘图以及交互式可视化:
pip install matplotlib
- 1
等等。
3. 交互式使用IPython
IPython支持所有python的标准输入输出,也就是我们在IDLE中或者Python shell中能用的,在IPython中都能够使用,唯一的不同之处使ipython会使用In [x]
和Out [x]
表示输入输出,并表示出相应的序号。
其实后面我们会知道,In和Out是两个保存历史信息的变量
进入IPython也非常简单,直接win + R
打开运行,然后输入ipython
即可进入IPython shell交互框;
或者输入ipython qtconsole
进入ipython图形交互界面:
除此之外,ipython支持一些更高级的功能。
3.1 Tab键自动补全
在shell中输入表达式时,只要按下Tab键,当前命名空间中任何与输入的字符串相匹配的变量(对象或者函数等)就会被找出来:
这时可以通过键盘的向下翻页键找到自己需要的对象。
3.2 内省
在变量的前面或者后面加上一个问号?
,就可以将有关该对象的一些通用信息显示出来,这就叫做对象的内省。
如果对象是一个函数或者实例方法,则它的docstring也会被显示出来:
定义方法如下:
这时查看该方法的内省信息:
如果使用两个问号??
,那么还可以显示出该方法的源代码:
另外,我们可以使用通配符字符串查找出所有与该通配符字符串相匹配的名称,比如我们查找re
模块下所有的包含find
的函数:
3.3 使用历史命令history
在IPython shell中,使用历史命令可以简单地使用上下翻页键即可,另外我们也可以使用hist
命令(或者history
命令)查看所有的历史输入。(正确的做法是使用%hist
,在这里,%hist
也是一个魔法命令)
如果在hist
命令之后加上-n
,即hist -n
也可以显示出输入的序号:
在任何的交互会话中,我们的输入历史和输出历史都会被保存在In
和Out
变量中,并被序号进行索引。
另外,_
,__
,___
和_i
,_ii
,_iii
变量保存着最后三个输出和输入对象。_n
和_in
(这里的n表示具体的数字)变量返回第n个输出和输入的历史命令。比如:
3.4 使用%run
命令运行脚本
在ipython会话环境中,所有文件都可以通过%run
命令当做Python程序来运行,输入%run 路径+python文件名称即可
3.5 使用%timeit
命令快速测量代码运行时间
在一个交互式会话中,我们可以使用%timeit
魔法命令快速测量代码运行时间。相同的命令会在一个循环中多次执行,多次运行时长的平均值作为该命令的最终评估时长。-n
选项可以控制命令在单词循环中执行的次数,-r
选项控制执行循环的次数。
3.6 使用%debug
命令进行快速debug
ipython带有一个强大的调试器。无论何时控制台抛出了一个异常,我们都可以使用%debug
魔法命令在异常点启动调试器。接着你就能调试模式下访问所有的本地变量和整个栈回溯。使用u
和d
向上和向下访问栈,使用q
退出调试器。在调试器中输入?
可以查看所有的可用命令列表。
我们也可以使用%pdb
魔法命令来激活IPython调试器,这样,每当异常抛出时,调试器就会自动运行。
3.7 使用Pylab进行交互式计算
%pylab
魔法命令可以使Numpy
和matplotlib
中的科学计算功能生效,这些功能被称为基于向量和矩阵的高效操作,交互可视化特性。它能够让我们在控制台进行交互式计算和动态绘图。
在该示例中,我们首先定义了一个-10到10的线性空间中的1000个数值的向量,接着我们绘制了(x,sin(x))图像,这样我们就成功绘制出了sin(x)
的函数图像:
3.8 在IPython中使用系统shell
我们可以在IPython中直接使用系统shell,并获取读取结果作为一个Python字符串列表。为了实现这种功能,我们需要使用感叹号!
作为shell命令的前缀。比如现在在我的windows系统中,直接在IPython中ping百度:
一个有趣的事情是,在IPython中调用系统shell可以再次进入一个新的IPython shell中,如下:
当然,一般没人会这么干。
4.使用IPython Notebook
IPython Notebook使用浏览器作为界面,向后台的IPython服务器发送请求,并显示结果。在浏览器的界面中使用单元(Cell)保存各种信息。Cell有多种类型,需要强调的是,它也支持MarkDown语法,所以可以有MarkDown格式化文本单元,也可以有表示代码的Code单元。
IPython Notebook有一个重要的特点就是:可重复性的互动计算,这意味着我们可以重复更改并且执行曾经的输入记录。它可以保存成其他很多格式,比如Python脚本,HTML,PDF等,所以它可以记录我们的演算过程。很多课程,博客以及书籍都是用Notebook写的。
4.1 安装并运行
如果执行了上文中IPython的安装过程,IPython Notebook已经算是安装好了。怎么测试呢?Win + R
打开运行窗口,输入ipython notebook
,如果正确安装的话,这个命令就会默认在本地8888端口启动一个web服务,并自动打开浏览器,打开http://localhost:8888/tree
页面,在这个页面我们可以看到当前目录下的所有文件夹以及ipynb
文件。
当然,如果不想在当前默认目录启动该Web服务器的话,就在cmd窗口下切换目录之后再运行ipython notebook
:
自动打开如下页面:
我们可以点击当前目录下的Notebook文件进行编辑,也可以新建Notebook:
编辑Notebook可以选择代码模式和文本编辑模式,也可以导出各种不同格式的文件:
由于IPython Notebook是基于Web服务模式的,所以我们可以在远程服务器打开IPython服务器,在本地客户端启动IPython Web交互界面,这样可以很方便地操作远程数据
4.2 操作
在一个输入框即Cell中使用回车即Enter
键,表示换行,也就是说一个Cell中可以输入多条语句。
一个Cell中的命令可以由两种方式运行:
Shift + Enter
小格内的所有代码将会在当前的IPython交互命名空间中运行,运行结果将会立即在输入框下面的输出区域显示,且一个新的输入框会出现。Ctrl + Enter
组合键只会显示运行结果而不会创建新的输入框
我们也可以使用上面的菜单栏和工具栏对Cell进行各种增删复制粘贴等操作。
转载于:https://www.cnblogs.com/lmg-jie/p/9171999.html
ipython介绍及使用相关推荐
- [转]IPython介绍
1. IPython介绍 ipython是一个python的交互式shell,比默认的python shell好用得多,支持变量自动补全,自动缩进,支持bash shell命令,内置了许多很有用的功能 ...
- ipython介绍_IPython的介绍与使用
1.IPython简介 ipython是一个python的交互式shell,比默认的python shell好用得多,支持变量自动补全,自动缩进,支持bash shell命令,内置了许多很有用的功能和 ...
- ipython的介绍
1. IPython介绍 ipython是一个python的交互式shell,比默认的python shell好用得多,支持变量自动补全,自动缩进,支持bash shell命令,内置了许多很有用的功能 ...
- Ubuntu 14.04 64bit安装IPython
pip是python的一个包管理工具,很多包都可以用这个来管理,首先安装pip sudo apt-get install python-pip IPython 终端与其他相比更为强大,提供智能的自动补 ...
- Py之ipython:Python库之ipython的简介、安装、使用方法详细攻略
Py之ipython:Python库之ipython的简介.安装.使用方法详细攻略 目录 ipython的简介 ipython的安装 ipython的使用方法 ipython的简介 ipython是一 ...
- Ipython\Jupyter数据分析工具
使用Python进行数据分析优点 1 Python大量的库为数据分析和处理提供了完整的工具集 2 比起R和Matlab等其他主要用于数据分析的编程语言,Python更全能 3 Python库一直在增加 ...
- ipython具备变量自动补全的功能吗_Ipython
ipython介绍 ipython是一个python交互式shell,比默认的python shell很多,支持变量自动补全,自动缩进,支持bash shell命令.ipython也是利用python ...
- 机器学习第8天:IPyhon与Jupyter notebook
文章目录 一.IPython是什么 二.IPython的安装 三.IPython功能介绍 (一)用符号?获取文档 (二)用符号??获取源代码 (三)用Tab补全的方式探索模块 四.jupyter no ...
- python神经网络多元函数_阿里达摩院推荐的最新400集python教程,据说懂中文就能上手...
小编的内心是强大的,网友虐我千百遍,我待网友如初恋,因为今天又给大家带来了干货,Python入门教程完整版,完整版啊!完整版! 为了吸取教训,小编一定要分享一下攻略,"怎样获得小编分享的教程 ...
最新文章
- bit,Byte、KB、MB、GB、TB、PB、EB之间的关系
- react 调用组件方法_React源码分析1 — 组件和对象的创建(createClass,createElement)...
- 10.2-3 ifupifdown:激活与禁用网络接口
- 晨光文具卖出去的笔能绕地球几圈?
- ubuntu 下更新pip后发生 ImportError: cannot import name 'main'的问题解决
- 51 nod 1006 最长公共子序列Lcs
- 镜头对摄像机性能的影响
- C/C++语言经典、实用、趣味程序设计编程百例精解(2)
- STM8单片机的中断优先级
- 执行linux操作时提示:权限不够
- 大数据-机器学习导论-1
- Docker 快速入门学习
- 22.实战:Kaggle房价预测
- 指南-Luat二次开发教程指南-功能开发教程-功耗管理
- 如何跳过b站的充电鸣谢?
- 编程之余对人品的感悟
- Windows环境下安装PyMySQL(已安装Anaconda)
- translation的使用
- jad 反编译文件夹下的所有class
- python实现调用百度API批量翻译单词
热门文章
- 【简短】Autodesk宣布支持Windows 7
- 【Java 强化】单元测试(JUnit3、JUnit4)、XML(语法、约束、文档结构)、DOM、DOM4J
- 【jQuery笔记Part1】06-jQuery对象与js对象转换
- [转]2020年4月github上最热门项目-python
- 空降了一位CTO,不到3个月,就被发现是一地鸡毛
- 如何用研发流程搞垮一个团队?
- 报表软件公司高价悬赏BUG,100块1个我真是醉了
- java程序员目标_Java程序员的目标,你都达到了多少条?
- Django3Vue3前后端分离项目
- 使用os.system调用外部程序,如wget下载