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以上的版本
pip install ipython
以上这条命令可以自动安装IPython以及它的各种依赖包,但是如果我们想在notebook中操作ipython的话,我们还需要安装jupyter:
pip install jupyter
3、使用IPython的两种方式
Python支持所有python的标准输入输出,也就是我们在IDLE中或者Python shell中能用的,在IPython中都能够使用,唯一的不同之处使ipython会使用In [x]和Out [x]表示输入输出,并表示出相应的序号。In和Out是两个保存历史信息的变量
交互式
直接打开命令行或者终端,输入ipython,即可进入ipython环境

Jupyter notebook
Jupiter notebook就类似于ipython的编辑器,他是一个文本工具,它是在你电脑本地开了一个服务端,将它运行在浏览器上。
windows,mac通用启动命令:jupyter notebook

4、IPython基础功能
ipython快捷键
- Ctrl-P 或上箭头键 后向搜索命令历史中以当前输入的文本开头的命令
- Ctrl-N 或下箭头键 前向搜索命令历史中以当前输入的文本开头的命令
- Ctrl-R 按行读取的反向历史搜索(部分匹配)
- Ctrl-Shift-v 从剪贴板粘贴文本
- Ctrl-C 中止当前正在执行的代码
- Ctrl-A 将光标移动到行首
- Ctrl-E 将光标移动到行尾
- Ctrl-K 删除从光标开始至行尾的文本
- Ctrl-U 清除当前行的所有文本译注12
- Ctrl-F 将光标向前移动一个字符
- Ctrl-b 将光标向后移动一个字符
- Ctrl-L 清屏
5、IPython高级功能
一些常用的高级功能比如:
- TAB键自动完成
- ?:内省、命名空间搜索
- !:执行系统命令
以及一系列魔术命令
5.1、魔术命令:以%开始的命令
%run:执行文件代码
“”“
类似于Cpython中在命令行中 python+文件路径
”“”
%paste:执行剪贴板代码
%timeit:评估运行时间 # 补充一个:%%time
%pdb:自动调试
IPython常用的魔术命令:
| 方法 | 描述 |
|---|---|
| %quickref | 显示IPython的快速参考 |
| %magic | 显示所有魔术命令的详细文档 |
| %debug | 从最新的异常跟踪的底部进入交互式调试器 |
| %hist | 打印命令的输入(可选输出)历史 |
| %pdb | 在异常发生后自动进入调试器 |
| %paste | 执行剪贴板中的Python代码 |
| %cpaste | 打开一个特殊提示符以便手工粘贴待执行的Python代码 |
| %reset | 删除interactive命名空间中的全部变量/名称 |
| %page OBJECT | 通过分页器打印输出OBJECT |
| %run script.py | 在IPython中执行一个Python脚本文件 |
| %prun statement | 通过cProfile执行statement,并打印分析器的输出结果 |
| %time statement | 报告statement的执行时间 |
| %timeit statement | 多次执行statement以计算系综平均执行时间。对那些执行时 间非常小的代码很有用 |
| %who、%who_ls、%whos | 显示interactive命名空间中定义的变量,信息级别/冗余度可变 |
| %xdel variable | 删除variable,并尝试清除其在IPython中的对象上的一切引用 |
IPython的介绍与使用的更多相关文章
- IPython的简单介绍
量化投资与Python 目录: 一.量化投资第三方相关模块 NumPy:数组批量计算 Pandas:表计算与数据分析 Matplotlib:图表绘制 二.IPython的介绍 IPython:和Pyt ...
- 【机器学习Machine Learning】资料大全
昨天总结了深度学习的资料,今天把机器学习的资料也总结一下(友情提示:有些网站需要"科学上网"^_^) 推荐几本好书: 1.Pattern Recognition and Machi ...
- 机器学习(Machine Learning)&深度学习(Deep Learning)资料【转】
转自:机器学习(Machine Learning)&深度学习(Deep Learning)资料 <Brief History of Machine Learning> 介绍:这是一 ...
- 量化投资与Python
目录: 一.量化投资第三方相关模块 NumPy:数组批量计算 Pandas:表计算与数据分析 Matplotlib:图表绘制 二.IPython的介绍 IPython:和Python一样 三.如何使用 ...
- 有哪些你不知道的python小工具
python作为越来越流行的一种编程语言,不仅仅是因为它语言简单,有许多现成的包可以直接调用. python中还有大量的小工具,让你的python工作更有效率. 1.- 快速共享 - HTTP服务器 ...
- python书籍推荐:量化投资:以Python为工具
所属网站分类: 资源下载 > python电子书 作者:mimi 链接:http://www.pythonheidong.com/blog/article/451/ 来源:python黑洞网 内 ...
- 机器学习(Machine Learning)与深度学习(Deep Learning)资料汇总
<Brief History of Machine Learning> 介绍:这是一篇介绍机器学习历史的文章,介绍很全面,从感知机.神经网络.决策树.SVM.Adaboost到随机森林.D ...
- Python_基础知识储备
目录 目录 前言 初识Python 解析型与编译型 OOP与POP 相关概念1 Python的解释器 Python程序设计的思想 Python的编程风格 最后 前言 前面的博文从记录了如何Setup ...
- 金融量化分析【day110】:IPython介绍及简单操作
一. IPython介绍 ipython是一个python的交互式shell,比默认的python shell好用得多,支持变量自动补全,自动缩进,支持bash shell命令,内置了许多很有用的功能 ...
随机推荐
- H3C PAP验证配置示例
- 4-3 xpath的用法
- linux平台依赖性
每个电脑平台有其自己的特点, 内核设计者可以自由使用所有的特性来获得更好的性能. in the target object file ??? 不象应用程序开发者, 他们必须和预编译的库一起连接他们的代 ...
- 一排盒子,jq鼠标移入的盒子动画移出停止动画,css动画
css .category > div.active { animation: servicetobig 0.5s ease 1 forwards; } @keyframes serviceto ...
- 5.29 SD省队培训D1
5.29 SD省队培训D1 自闭的一天 T1 梦批糼 先咕一咕(两天之内一定补上) T2 等你哈苏德 继续咕(一星期之内补上) T3喜欢最最痛 四十分做法: 首先,我们发现同一个点加两条额外边是一件非 ...
- CodeForces - 922D Robot Vacuum Cleaner (贪心)
Pushok the dog has been chasing Imp for a few hours already. Fortunately, Imp knows that Pushok is a ...
- Blazor 服务端组件 Render, RenderFragment ,RenderTreeBuilder, CascadingValue/CascadingParameter
一.组件 支撑Blazor的是微软的两大成熟技术,Razor模板和SignalR,两者的交汇点就是组件.通常,我们从ComponentBase派生的类型,或者创建的.razor 文件,就可以称作组件. ...
- Unitils集成DBUnit、Spring-单元测试(转)
1.maven-pom文件中引入相关jar包 <!-- Unitils -dbunit.Spring --> <dependency> <groupId>org.u ...
- 探讨 java 的三大特性之一:继承
先回顾一下, Java 面向对象的三大特性包括:封装.继承.多态. PS:还有一些说四大特性,加了一个抽象 封装:将属性私有化,对外提供访问属性的方法,也可以不提供方法,这个特性叫做封装. 继承: 子 ...
- 【题解】P5589 小猪佩奇玩游戏(期望)
[题解]P5589 小猪佩奇玩游戏(期望) 假设一个点有\(x\)个点(包括自己)可以到达他,他就对答案有\(1/x\)的贡献.这是因为这个点必须被删掉而通过删掉这个点本身删掉这个点的概率是\(1/x ...