![自学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=1739006759-DyednokyDxCSsHaO0AtPKzPcokznjfkk-0-7fc17853c813c6d7aecacbff3d20a352)
其初始界面如图1-3所示。
![](https://epubservercos.yuewen.com/31354F/24975354409380106/epubprivate/OEBPS/Images/13_05.jpg?sign=1739006759-W4HvbSMwUcgj5gFx92j5yVHFdHOaDSUE-0-062a71696bdadba924c91837ec93fdfb)
图1-3 IPython解释器的初始界面
相对于Python解释器,IPython解释器在功能上要更加强大,使用也更加方便。Python解释器中可以执行的命令,在IPython解释器中都可以执行。因此,本书使用IPython解释器代替Python解释器进行演示。
在IPython解释器执行第一行Python代码:
![](https://epubservercos.yuewen.com/31354F/24975354409380106/epubprivate/OEBPS/Images/14_01.jpg?sign=1739006759-XsXZvHONRwSl90Is59ydCBBOCZKfWzfL-0-2a0cbf41187fe125abe118c6f7dddf49)
与Python解释器不同,IPython解释器用“In []:”来提示输入新的内容。按〈Enter〉键之后,可以得到与Python解释器类似的结果:
![](https://epubservercos.yuewen.com/31354F/24975354409380106/epubprivate/OEBPS/Images/14_02.jpg?sign=1739006759-880lpxM9nzZXIfnjdnaKg3xBsZ0MZiBK-0-5e75ef0460d2551f5103bb9a559cfdf2)
其中,“In []:”中的数字会随着输入按顺序增加。
使用IPython解释器进行简单的赋值操作:
![](https://epubservercos.yuewen.com/31354F/24975354409380106/epubprivate/OEBPS/Images/14_03.jpg?sign=1739006759-eYilOP1MomdjbbJj4b2sds4YGnRosuGD-0-1c9a5fb66c92ce0d1c79afc0ab715628)
在解释器中输入刚才赋值的变量名,会有一个“Out []”的标识来显示变量的值:
![](https://epubservercos.yuewen.com/31354F/24975354409380106/epubprivate/OEBPS/Images/14_04.jpg?sign=1739006759-sAlDBQjCp8yPOHFlXQNouoExkOzQR7va-0-4863c45a3ef28f79a94439ddcaa02177)
除了通常的Python代码,IPython解释器中还可以使用一些有特殊功能的魔术命令。魔术命令(Magic Command)是IPython中提供的一些以百分号“%”开头的特殊命令,这些命令有一些特殊的功能。例如,%whos命令可以查看当前的变量空间:
![](https://epubservercos.yuewen.com/31354F/24975354409380106/epubprivate/OEBPS/Images/14_05.jpg?sign=1739006759-1VxB5M4Ez9nv7kxLTMXAV4uPpfYGF1Mn-0-525828978eef6d8f666f585d9c50e6de)
%pwd命令可以查看当前工作目录:
![](https://epubservercos.yuewen.com/31354F/24975354409380106/epubprivate/OEBPS/Images/14_06.jpg?sign=1739006759-cnqahvSwvIG4B9uyKyn3GOyxuB5eKFP2-0-29440f907e8dc3f9635b94f34cb64384)
魔术命令只能在IPython解释器中运行,Python解释器并不支持。所有可用的魔术命令可以使用魔术命令%lsmagic查询,比较常用的魔术命令还有如下几种。
●%run:执行一个Python脚本。
●%timeit:查看单行代码的运行效率。
●%cd:改变当前工作目录。
●%ls:显示当前目录下的文件。
●%%timeit:查看多行代码的运行效率。
●%%writefile:将多行内容写入一个文件中。
除了魔术命令之外,IPython解释器还有很多其他的特性。例如,在函数或变量后使用问号“?”可以查看帮助:
![](https://epubservercos.yuewen.com/31354F/24975354409380106/epubprivate/OEBPS/Images/14_07.jpg?sign=1739006759-WWNdnHDoDhQHGqbM2owO0Sb8Pbp4Ejju-0-1d5e10acf95d07c7c84cb28df541c3ea)
![](https://epubservercos.yuewen.com/31354F/24975354409380106/epubprivate/OEBPS/Images/15_01.jpg?sign=1739006759-oO87yHeqsCbVjGk18GZJgv6jZBkMm6Eg-0-3b8974b53845545da8010941d90d3376)
以感叹号“!”开头,可以像命令行一样执行系统命令:
![](https://epubservercos.yuewen.com/31354F/24975354409380106/epubprivate/OEBPS/Images/15_02.jpg?sign=1739006759-yKBP8HHs7DPCPQf9iONBaDCU0fCMlKYZ-0-87a83ca81b42cb1f15dff763a3cfe452)
当输入出现错误时,IPython解释器也会给出错误的位置和原因:
![](https://epubservercos.yuewen.com/31354F/24975354409380106/epubprivate/OEBPS/Images/15_03.jpg?sign=1739006759-2JmmhZyZ2EvgUdKD133IbtshuNeaiuxy-0-47f327cff7abf87929b516240387be44)