《IPython简介》

article/2025/9/24 1:03:47

IPython是公认的现代科学计算中最重要的Python工具之一。它是一个加强版的Python交互式命令行工具,与系统自带的Python交互环境相比,IPython具有以下明显的几个特点:

  • 与Shell紧密关联,可以在IPython环境下直接执行Shell指令;
  • 可以直接绘图操作的Web GUI环境,在机器学习领域、探索数据模式、可视化数据、绘制学习曲线时,这一功能特别有用;
  • 更强大的交互功能,包括内省、Tab键自动完成、魔术命令等。


第一部分:IPython基础

1、正确安装IPython后(首先需要先安装Anaconda,如何安装,自行百度),在IPython命令行(Anaconda prompt)输入ipython即可启动IPython交互环境。

(base) C:\Users\Administrator>ipython
Python 3.6.4 |Anaconda, Inc.| (default, Jan 16 2018, 10:22:32) [MSC v.1900 64 bit (AMD64)]
Type 'copyright', 'credits' or 'license' for more information
IPython 6.2.1 -- An enhanced Interactive Python. Type '?' for help.In [1]:

2、基本上,可以上使用Python交互环境一样使用IPython交互环境:

In [1]: a=5In [2]: a+3
Out[2]: 8

3、跟Python交互环境相比,IPython的输出排版更简洁、优美:

In [3]: import numpy as npIn [4]: data={i:np.random.randn() for i in range(8)}In [5]: data
Out[5]:
{0: 0.7297479153598447,1: -0.2930247252243687,2: 0.17482127916622928,3: 0.9765177536261868,4: 0.7651031974268374,5: -0.16108735155481407,6: 0.4821340981457667,7: 1.0570441287244732}

4、Ipython的Tab键自动补全功能是提高效率的秘籍。例如:输入np.random.rand命令后,按Tab键,会自动显示np.random命名空间下以rand开头的所有函数。这一功能的便利性赶上了主流IDE.

In [6]: import numpy as npIn [7]: np.random.randrand()            random()          RandomStaterandint()         random_integers()randn()           random_sample()

5、记住一些快捷键,可以让你在IPython环境下体验健步如飞的感觉。下面是IPython的快捷键:

Ctrl+A:移动光标到本行的开头;

Ctrl+E:移动光标到本行的结尾;

Ctrl+U:删除光标所在位置之前的所有字符;

Ctrl+K:删除光标所在位置之后的所有字符,包含当前光标所在的字符;

Ctrl+L:清除当前屏幕上显示的内容;

Ctrl+P:以当前输入的字符作为命令的起始字符,在历史记录里向后搜索匹配的命令;

Ctrl+N:以当前输入的字符作为命令的起始字符,在历史记录里向前搜索匹配的命令;

Ctrl+C:中断当前脚本的执行。

6、另外,IPython提供了强大的内省功能。在Python的交互环境里,只能使用help()函数来查阅内置文档,在IPython环境里可以直接在类或变量后面加上一个问号“?”来查阅文档:

In [8]: np.random.randn?
Docstring:
randn(d0, d1, ..., dn)Return a sample (or samples) from the "standard normal" distribution.If positive, int_like or int-convertible arguments are provided,
`randn` generates an array of shape ``(d0, d1, ..., dn)``, filled
with random floats sampled from a univariate "normal" (Gaussian)
distribution of mean 0 and variance 1 (if any of the :math:`d_i` are
floats, they are first converted to integers by truncation). A single
float randomly sampled from the distribution is returned if no
argument is provided.This is a convenience function.  If you want an interface that takes a
tuple as the first argument, use `numpy.random.standard_normal` instead.Parameters
----------
d0, d1, ..., dn : int, optionalThe dimensions of the returned array, should be all positive.If no argument is given a single Python float is returned.Returns
-------
Z : ndarray or floatA ``(d0, d1, ..., dn)``-shaped array of floating-point samples fromthe standard normal distribution, or a single such float ifno parameters were supplied.---Return to continue, q to quit---

7、在类或变量或函数后面加两个问号你“??”还可以直接查看源代码。结合型号”*“和问号”?“,还可以查询命名空间里的所有函数和对象。例如,查询np.random下面以rand开头的所有函数和对象:

In [10]: np.random.rand??
Docstring:
rand(d0, d1, ..., dn)Random values in a given shape.Create an array of the given shape and populate it with
random samples from a uniform distribution
over ``[0, 1)``.Parameters
----------
d0, d1, ..., dn : int, optionalThe dimensions of the returned array, should all be positive.If no argument is given a single Python float is returned.Returns
-------
out : ndarray, shape ``(d0, d1, ..., dn)``Random values.See Also
--------
randomNotes
-----
This is a convenience function. If you want an interface that
takes a shape-tuple as the first argument, refer to
np.random.random_sample .
---Return to continue, q to quit---
In [9]: np.random.rand*?
np.random.rand
np.random.randint
np.random.randn
np.random.random
np.random.random_integers
np.random.random_sample

从这些特性可以看出,IPython鼓励探索性编程。当你对环境还不熟悉的时候,允许通过简便快捷的方式来找到你想要的信息。

8、除此之外,IPython还提供强大魔术命令。例如,我们在当前工作目录下有一个叫hello.py的文件,然后再IPython里输入%run hello.py命令即可直接运行这个python文件。这个文件是在一个空的命名空间里运行的,并且运行之后,该文件里定义的全局变量和函数就会知道自动引用到当前IPython空间中。

In [13]: %run hello.py

9、还有一个常用的魔术命令是%timeit,可以用来快速评估代码的执行效率。例如,下面的代码用来评估一个100*100的矩阵点乘所需要运行的时间。

In [14]: a=np.random.randn(100,100)In [15]: %timeit np.dot(a,a)
142 µs ± 17.3 µs per loop (mean ± std. dev. of 7 runs, 1 loop each)

10、还可以使用%who%whos命令来查看当前环境下的变量列表变量信息

In [16]: %who
a        data    msg     np
In [17]: %whos
Variable   Type       Data/Info
-------------------------------
a          ndarray    100x100: 10000 elems, type `float64`, 80000 bytes
data       dict       n=8
msg        str        hello  ipython
np         module     <module 'numpy' from 'C:\<...>ges\\numpy\\__init__.py'>

11、还有一些比较常用的魔术命令如下:

%quickref:显示IPython的快速参考文档;

%magic:显示所有的魔术命令及其详细文档;

%reset:删除当前环境下的所有变量和导入的模块;

%logstart:开始记录IPython里的所有命令,默认保存在当前工作目录的ipython_log.py中;

%logstop:停止记录,并关闭log文件。

12、在魔术命令后面加上“?”可以直接显示魔术命令的文档。我们来查看%reset魔术命令的文档。

In [18]: %reset?
Docstring:
Resets the namespace by removing all names defined by the user, if
called without arguments, or by removing some types of objects, such
as everything currently in IPython's In[] and Out[] containers (see
the parameters for details).Parameters
----------
-f : force reset without asking for confirmation.-s : 'Soft' reset: Only clears your namespace, leaving history intact.References to objects may be kept. By default (without this option),we do a 'hard' reset, giving you a new session and removing allreferences to objects from the current session.in : reset input historyout : reset output historydhist : reset directory historyarray : reset only variables that are NumPy arraysSee Also
--------
reset_selective : invoked as ``%reset_selective``

13、我们经常会用import命令导入自己写的python模块,在调试过程中,修改了这个模块后,如果想让当前的修改马上起作用,必须使用reload()函数重载载入该模块。


第二部分:IPython图形界面

除了控制台环境外,IPython另外一个强大的功能是图形环境。与控制台环境相比,它有两个显著的特点:

  • 方便编写多行代码;
  • 可以直接把数据可视化,显示在当前页面下。

1、安装完Jupyter后,直接在命令行(Anaconda prompt)输入ipython notebook,启动网页版的图形编程界面。它会在命令行启动一个轻量级的Web服务器,同时用默认的浏览器打开当前目录所在的页面,在这个页面下可以直接打开某个notebook或者创建一个新的notebook。一个是以.ipynb作为后缀名的、基于json格式的文本文件。

同时,也可以直接在电脑右下角的开始里找到Anaconda的Jupyter notebook



2、我们新建一个notebook并且画一个正弦曲线,写完代码之后按Ctrl+Enter键即可运行或者选择cell里的run cell

【代码部分】

# 设置 inline 方式,直接把图片画在网页上
%matplotlib inline
# 导入必要的库
import numpy as np
import matplotlib.pyplot as plt# 在 [0, 2*PI] 之间取 100 个点
x = np.linspace(0, 2 * np.pi, num=100)
# 计算这 100 个点的正弦值,并保存在变量 y
y = np.sin(x)
# 画出 x, y 即是我们的正弦曲线
plt.plot(x, y)

【显示部分】

3、IPython notebook有两个模式,一个是编辑模式,可以直接在这个cell上写代码;另一个是命令模式,即输入的按键作为命令,而不是作为文本处理。按Ctrl+M快捷键在命令模式和编辑模式之间切换。

命令模式快捷键:

  • J:焦点上移一个cell;
  • K:焦点下移一个cell;
  • A:在当前cell的上面插入一个新的cell;
  • B:在当前cell的下面插入一个新的cell;
  • DD:连续按两下D键,删除当前cell。

编辑模式快捷键:

  • Ctrl+Enter:执行当前的cell代码;
  • Shift+Enter:执行当前的cell代码,并把焦点移到下一个cell处,如果没有下一个cell则会自动创建一个新的cell。


参考书籍:

《scikit-learn机器学习常用算法原理及编程实践》 黄永昌


http://chatgpt.dhexx.cn/article/4tLbinFC.shtml

相关文章

ipython的介绍

1. IPython介绍 ipython是一个python的交互式shell&#xff0c;比默认的python shell好用得多&#xff0c;支持变量自动补全&#xff0c;自动缩进&#xff0c;支持bash shell命令&#xff0c;内置了许多很有用的功能和函数。学习ipython将会让我们以一种更高的效率来使用pytho…

Python——使用ipython

1、打开命令行窗口&#xff0c;运行pip install ipython&#xff0c;安装ipython&#xff0c;如果安装了anaconda&#xff0c;就不需要安装ipython 了&#xff0c;因为anaconda自带ipython&#xff1b; 2、运行ipython&#xff0c;进入ipython窗口&#xff1b; 3、命令前加叹号…

IPython介绍及使用

IPython介绍及使用 一、Ipython入门 IPython是一个交互式python命令行。 &#xff08;1&#xff09;安装IPython $ pip3 install ipython&#xff08;2&#xff09;ipython的使用 In代表输入&#xff0c;响应的结果则显示在Out中。与python解释器的使用方法一致。 In [1]: 12 …

XMind 8免费激活方法

步骤1&#xff1a; 下载安装XMind 8 . 百度网盘下载&#xff1a;https://pan.baidu.com/s/1aviJDpCgaQGI1XgiOdaOAw 密码&#xff1a;3ysh 步骤2(可选)&#xff1a; 安装好Xmind后右击Xmind图标-->打开文件位置-->进入安装目录&#xff0c;将XMindCrack.jar文件&#xf…

[Xmind]关于Xmind的使用方法

首先是Xmind使用的问题 这个方法我也是找了挺久才找到的&#xff0c;供个人借鉴和使用&#xff0c;但不能用于商业用途&#xff01; 本人的电脑系统是&#xff1a;Microsoft Windows 10 家庭中文版 下载链接 蓝奏云下载连接密码:ag89 密码&#xff1a;20210804 下载三个文件后…

脑图XMind 8免费激活方法

步骤1&#xff1a; 下载安装XMind 8 . 百度网盘下载&#xff1a;https://pan.baidu.com/s/1CKu1VPtos-GbC_hBSe-fYQ 密码&#xff1a;5zu7 步骤2(可选)&#xff1a; 安装好Xmind后右击Xmind图标-->打开文件位置-->进入安装目录&#xff0c;将XMindCrack.jar文件&#xf…

XMind8安装

一&#xff1a;介绍 XMind 是一款非常实用的商业思维导图软件&#xff0c;应用全球最先进的Eclipse RCP 软件架构&#xff0c;全力打造易用、高效的可视化思维软件&#xff0c;强调软件的可扩展、跨平台、稳定性和性能&#xff0c;致力于使用先进的软件技术帮助用户真正意义上提…

Xmind破解教程

Xmind是什么&#xff1f; XMind 是什么&#xff1f; XMind是风靡全球的思维导图和头脑风暴软件。XMind 专注于做思维导图十二年&#xff0c;现全球上百个国家的百万级用户都将之作为学习、工作、生活的效率工具。 第二个问题&#xff1a;思维导图是什么&#xff1f; 思维导…

Linux中xmind8 pro 破解(内附序列号,亲测有效)

xmind下载安装就不讲解了&#xff0c;这里说说如何升级到 xmind 8 pro, 只需要简单的里俩步&#xff1a; 第一步骤&#xff1a;下载XMindCrark.jar文件 百度链接:https://pan.baidu.com/s/1HUxV0zHRHrdfxff0Gu7acQ 提取码:62fx 下载之后&#xff0c;将XmindCrack.jar放在安装好…

xmind linux,xmind 8 pro序列号-XMind 8(思维导图软件) for Linux下载v8.0-乐游网软件下载...

《XMind 8》forLinux打造的系统导图思维类软件&#xff0c;提供一体化的可视化思考空间&#xff0c;帮助企业人员进行获取更多的新想法&#xff0c;捕捉新元素&#xff0c;导入导出自己的思路&#xff0c;用于团队协助的工作中&#xff0c;提高企业人员的整体效率。 软件介绍 X…

验证失败,可能为XMind 2013 Pro序列号。XMind 8 pro 激活教程

前言附1&#xff1a;XMind.ini 参考附2&#xff1a;XMind激活破解参考后记 前言 在XMind激活时&#xff0c;提示&#xff1a;验证失败&#xff0c;可能为XMind 2013 Pro序列号。升级到XMind 8&#xff1f; 该如何处理呢&#xff1f;这种情况应该是您将-javaagent:./XMindCra…

关于xmind破解的方法

1.首先下载xmind并安装官网链接&#xff1a;https://www.xmind.cn/download/xmind8/ 2.下载分享的文件包&#xff08;里面有xmind的安装包已经安装的小伙伴可以不用提取&#xff09; 链接: https://pan.baidu.com/s/1WJ1bARI4p6PR565NbHWFIg 提取码: 8xuj 3.找到hosts文件用…

xmind pro 功能

1.下载文件 提取码&#xff1a;4a8c 2.找到 XMind 安装目录。右击ximd打开文件所在位置。将下载的文件复制到这个目录中。 2.以文本格式打开安装目录中 XMind.ini 3.在 XMind.ini 最后追加一个XMindCrack.jar的绝对路径、保存。 例如: -javaagent:D:\XMind\XMindCrack.jar…

xmind 7 pro破解补丁|xmind 7 pro注册机下载(附xmind7 pro序列号/注册码/激活码)

Xmind 7破解补丁是一款绿色免费、并专门针对Xmind 7软件而推出的一款破解补丁软件&#xff0c;鉴于此&#xff0c;小编为大家推荐这款Xmind 7破解补丁&#xff0c;相信有了这款Xmind 7破解补丁&#xff0c;用户就可以非常轻松的生成相应的软件Xmind 7序列号及注册码&#xff0c…

验证失败,可能为XMind 2013 Pro序列号。升级到XMind 8?解决方法

解决方案 发现自己的配置文件中书写错误&#xff0c;多写了两个英文符号。

XMind 8 Update 9 安装出现一些问题

经过无数次的失败&#xff0c;总结出一些激活失败的原因 1、序列号或者邮箱地址无效 邮箱随便填 序列号&#xff1a; XAka34A2rVRYJ4XBIU35UZMUEEF64CMMIYZCK2FZZUQNODEKUHGJLFMSLIQMQUCUBXRENLK6NZL37JXP4PZXQFILMQ2RG5R7G4QNDO3PSOEUBOCDRYSSXZGRARV6MGA33TN2AMUBHEL4FXM…

验证失败,可能为XMind 2013 Pro序列号。升级到XMind 8?

近期在学习一本书&#xff0c;想为了更好的梳理书中的内容逻辑&#xff0c;使用XMind进行内容逐层细化&#xff0c;因为我很觊觎XMind的导出为Word的功能&#xff0c;便去官网下载了XMind8 &#xff0c;但是如果不升级到pro版本是无法使用导出功能的&#xff0c;因为穷&#xf…

XMind 8 Pro

一、下载安装Xmind软件 下载安装包&#xff1a;https://www.xmind.net/download/安装XMind 二、下载破解补丁(XMindCrack.jar) 下载地址&#xff1a;https://www.lanzous.com/i29qtij 三、破解XMind 右键桌面XMind图标&#xff0c;选择打开文件所在的位置 把下载好的破解包…

xmind 8 pro Mac破解版(思维导图) 附xmind 8 序列号

链接:https://pan.baidu.com/s/1tTKYuqCjGo_WC2ns6tN54w 密码:1b1w 【转载地址】 小伙伴们XMind 8 pro Mac破解版(思维导图) 最新版本v3.7.8中文破解版上线了&#xff0c;本次的XMind 8 Mac破解版进入一个全新的阶段&#xff0c;更新鲜的外观和更好的可用性。 本次XMind 8 M…

xmind8 Pro序列号

&#xff08;免责声明&#xff1a;这里所有操作仅限交流学习所用哈&#xff0c;请24内删除所做操作&#xff0c;请支持正版&#xff01;&#xff09; 前言&#xff1a;因为正好使用xmind8并且需要导出为pdf格式的文件&#xff0c;所以就分享下 步骤一&#xff1a;点我下载 XM…