![自学Python:编程基础、科学计算及数据分析(第2版)](https://wfqqreader-1252317822.image.myqcloud.com/cover/909/45852909/b_45852909.jpg)
1.3.1 IPython解释器
本书不推荐读者使用Python自带的解释器,推荐使用另一个功能更强大的解释器——IPython解释器。Anaconda中已经包含了IPython解释器,可以从命令行界面进入:
![](https://epubservercos.yuewen.com/31354F/24975354409380106/epubprivate/OEBPS/Images/13_04.jpg?sign=1739611917-tjLAecyMtP06rof1WJnDIEDufTBqD5FJ-0-e62d16988b32c03f7e74b3561280219c)
其初始界面如图1-3所示。
![](https://epubservercos.yuewen.com/31354F/24975354409380106/epubprivate/OEBPS/Images/13_05.jpg?sign=1739611917-hziYWzUBkdobNnPxfEUIsjfkbsfAthq2-0-e905dbacdb732002081a50d6a956caf2)
图1-3 IPython解释器的初始界面
相对于Python解释器,IPython解释器在功能上要更加强大,使用也更加方便。Python解释器中可以执行的命令,在IPython解释器中都可以执行。因此,本书使用IPython解释器代替Python解释器进行演示。
在IPython解释器执行第一行Python代码:
![](https://epubservercos.yuewen.com/31354F/24975354409380106/epubprivate/OEBPS/Images/14_01.jpg?sign=1739611917-DFSMFZbD1exyn1DkbdUgBR9Hr1HUyxiP-0-ce26f9799b449ae894f0cf837ac3c411)
与Python解释器不同,IPython解释器用“In []:”来提示输入新的内容。按〈Enter〉键之后,可以得到与Python解释器类似的结果:
![](https://epubservercos.yuewen.com/31354F/24975354409380106/epubprivate/OEBPS/Images/14_02.jpg?sign=1739611917-u4V7DoKDtyv95qqVP3PW88aDauHMK20E-0-c4a77cd8d4394ec675a1a294cfad7804)
其中,“In []:”中的数字会随着输入按顺序增加。
使用IPython解释器进行简单的赋值操作:
![](https://epubservercos.yuewen.com/31354F/24975354409380106/epubprivate/OEBPS/Images/14_03.jpg?sign=1739611917-Z0K66jZ5XUZpxUJq3ArET6I2d8wmUFfm-0-8f7dc53904920c8f30f1529c1f0cef66)
在解释器中输入刚才赋值的变量名,会有一个“Out []”的标识来显示变量的值:
![](https://epubservercos.yuewen.com/31354F/24975354409380106/epubprivate/OEBPS/Images/14_04.jpg?sign=1739611917-hC6PN1xIDbhtMzt2btiix0pdUZc5axqx-0-16d488231332970f5f11ce5a4483e18f)
除了通常的Python代码,IPython解释器中还可以使用一些有特殊功能的魔术命令。魔术命令(Magic Command)是IPython中提供的一些以百分号“%”开头的特殊命令,这些命令有一些特殊的功能。例如,%whos命令可以查看当前的变量空间:
![](https://epubservercos.yuewen.com/31354F/24975354409380106/epubprivate/OEBPS/Images/14_05.jpg?sign=1739611917-h7HThTgC770pZMLtTe87IaaSd1RhTOGo-0-8e93df018703339d3967d868f688d5d8)
%pwd命令可以查看当前工作目录:
![](https://epubservercos.yuewen.com/31354F/24975354409380106/epubprivate/OEBPS/Images/14_06.jpg?sign=1739611917-XrtYWTmJY9E0SIBrC2Yzq2YL6C7SuwEe-0-7cec2edfd1512220b671eb7b41cac347)
魔术命令只能在IPython解释器中运行,Python解释器并不支持。所有可用的魔术命令可以使用魔术命令%lsmagic查询,比较常用的魔术命令还有如下几种。
●%run:执行一个Python脚本。
●%timeit:查看单行代码的运行效率。
●%cd:改变当前工作目录。
●%ls:显示当前目录下的文件。
●%%timeit:查看多行代码的运行效率。
●%%writefile:将多行内容写入一个文件中。
除了魔术命令之外,IPython解释器还有很多其他的特性。例如,在函数或变量后使用问号“?”可以查看帮助:
![](https://epubservercos.yuewen.com/31354F/24975354409380106/epubprivate/OEBPS/Images/14_07.jpg?sign=1739611917-pZILSY1AeWObLCP2hgkSEojljENzdhZz-0-904bfd79fff2637527e4d1956e222796)
![](https://epubservercos.yuewen.com/31354F/24975354409380106/epubprivate/OEBPS/Images/15_01.jpg?sign=1739611917-7YZcbtZji8cFuDaHZnzdGJWOF8jhEp4V-0-06274569ee0ae30161b6ac44fbce42b1)
以感叹号“!”开头,可以像命令行一样执行系统命令:
![](https://epubservercos.yuewen.com/31354F/24975354409380106/epubprivate/OEBPS/Images/15_02.jpg?sign=1739611917-SUoLvQSTmh1Qn8iIkOAtmEDwo3hashRH-0-2a4d14629635a3bd64ea14307d88ea70)
当输入出现错误时,IPython解释器也会给出错误的位置和原因:
![](https://epubservercos.yuewen.com/31354F/24975354409380106/epubprivate/OEBPS/Images/15_03.jpg?sign=1739611917-0RRGIrwaoClkFOF5724a71NhBGwPvcng-0-d0c875c966352dedef612102543946cb)