![数据结构与算法(Python版)](https://wfqqreader-1252317822.image.myqcloud.com/cover/974/41864974/b_41864974.jpg)
2.3 Python编辑器
Python编辑器众多,有Python自带的IDLE编辑器、Notepad++、Eclipse+PyDev、UliPad,以及Vim和Emacs等。Linux下的Eclipse+PyDev和Windows下的PyCharm功能较为强大。
2.3.1 IDLE
IDLE包括能够利用颜色突出显示语法的编辑器、调试工具、Python Shell以及完整的Python 3在线文档集。Python的IDLE具有命令行和图形用户界面两种方式。采用命令行交互式执行Python语句,方便快捷,但必须逐条输入语句,不能重复执行,适合测试少量的Python代码,不适合复杂的程序设计。
IDLE的命令行交互式模式如图2.6所示。
![](https://epubservercos.yuewen.com/3C8452/21889219301185006/epubprivate/OEBPS/Images/978-7-111-66363-8_23_02.jpg?sign=1739283143-UUAqI9POswdgD95J4nKohMIZT7ffQQhz-0-23a8840d77563fd830e54d122cadbf81)
图2.6 IDLE的命令行交互式模式
IDLE图形用户界面模式如图2.7所示。
![](https://epubservercos.yuewen.com/3C8452/21889219301185006/epubprivate/OEBPS/Images/978-7-111-66363-8_24_01.jpg?sign=1739283143-ZSsLNmrsGX5s2gVMoAXqQhLCx3vRjIYm-0-559a353d2aa7dcfd43b39ec4d7062a5f)
图2.7 IDLE的图形用户界面模式
2.3.2 PyCharm
PyCharm具有一整套可以帮助用户在使用Python语言开发时提高效率的工具,如调试、语法高亮、Project管理、代码跳转、智能提示、自动完成、单元测试和版本控制。此外,PyCharm还提供了一些高级功能,用于支持Django框架下的专业Web开发。下载PyCharm并双击安装,如图2.8所示。
![](https://epubservercos.yuewen.com/3C8452/21889219301185006/epubprivate/OEBPS/Images/978-7-111-66363-8_24_02.jpg?sign=1739283143-rgl4ireEmw8rzfLma9MZALzml2pWNluF-0-98fc69d45b6c501396f4efd6ccd30968)
图2.8 安装PyCharm步骤1
单击Next按钮,在出现的界面中单击Install按钮进入安装过程,如图2.9所示。
安装结束,单击OK按钮运行PyCharm,如图2.10所示。
单击Create New Project,在弹出的对话框中输入项目名、路径,并选择Python解释器。如图2.11所示。
![](https://epubservercos.yuewen.com/3C8452/21889219301185006/epubprivate/OEBPS/Images/978-7-111-66363-8_25_01.jpg?sign=1739283143-72mZPuoyXyEO9q3jOf9whRP4lIQUUESD-0-1f9ebfc0971e3909d8de1f80f27baa6c)
图2.9 安装PyCharm步骤2
![](https://epubservercos.yuewen.com/3C8452/21889219301185006/epubprivate/OEBPS/Images/978-7-111-66363-8_25_02.jpg?sign=1739283143-gEzzI4QR3LrvKVIZpHp5wsqm3H4ND0V1-0-5bfdf7828c3a7c4a800ba8fabd6df0b9)
图2.10 运行PyCharm
![](https://epubservercos.yuewen.com/3C8452/21889219301185006/epubprivate/OEBPS/Images/978-7-111-66363-8_25_03.jpg?sign=1739283143-Ql4boQJmLl389q3KkhL8gLCBTQNXDQCe-0-6afd31107bcb8fa87d15079a8c0caafc)
图2.11 选择Python解释器
启动PyCharm,创建Python文件,如图2.12所示。
![](https://epubservercos.yuewen.com/3C8452/21889219301185006/epubprivate/OEBPS/Images/978-7-111-66363-8_26_01.jpg?sign=1739283143-zSuvHcJnwG7bT6SlYkr05fsOsuvYIwYQ-0-03e093ba3af6f81a2d8033aaba05e672)
图2.12 PyCharm创建Python文件
2.3.3 Anaconda
Anaconda是一个开源的Python发行版本,其包含了Conda、Numpy等180多个科学包及其依赖项,涉及数据可视化、机器学习和深度学习等多方面,本书重点介绍Anaconda,所有程序均在Anaconda下调试与运行。Anaconda的特点如下。
● 提供包管理。可以使用conda和pip命令安装、更新、卸载第三方工具包,简单方便,不需要考虑版本等问题。
● 集成了数据科学相关的工具包。Anaconda集成了如NumPy、SciPy、Pandas等数据分析的各类第三方包。
●提供虚拟环境管理。在Conda中可以建立多个虚拟环境,可以为不同的Python版本项目建立不同的运行环境,从而解决了Python多版本并存的问题。
Anaconda的安装步骤如下所述。
1)Anaconda的官网下载地址为https://www.anaconda.com/download/,如图2.13所示。
2)选择Python 3.6 version,并根据自己的操作系统是32位还是64位选择对应的版本下载,如图2.14所示。
3)在弹出的对话框中选择下载位置,下载Anaconda3-5.1.0-Windows-x86_64.exe,大约537 MB。单击“下载”按钮进行下载,如图2.15所示。
注意:如果是Windows 10系统,安装Anaconda软件时,需要右击安装软件,选择以管理员的身份运行。
4)下载完毕,双击软件进行安装,选择安装路径,如C:\anaconda3,根据提示单击“下一步”按钮即可完成安装,如图2.16所示。
![](https://epubservercos.yuewen.com/3C8452/21889219301185006/epubprivate/OEBPS/Images/978-7-111-66363-8_27_01.jpg?sign=1739283143-OQ3gA8ocyXG3tCXKejPi5Ol0JRv33AH3-0-ef90489dce74fbccef4fa24e6125b013)
图2.13 Anaconda的网站
![](https://epubservercos.yuewen.com/3C8452/21889219301185006/epubprivate/OEBPS/Images/978-7-111-66363-8_27_02.jpg?sign=1739283143-5k0n41wECuMyaBDNRgeYUV3al8t9ZULL-0-a9189269ef7582a9c834344506f57324)
图2.14 选择Python 3.6
Anaconda包含如下应用,如图2.17所示。
●Anaconda Navigator:用于管理工具包和环境的图形用户界面,其涉及的众多管理命令也可以在Navigator中手工实现。
● Anaconda Prompt:Python的交互式运行环境。
![](https://epubservercos.yuewen.com/3C8452/21889219301185006/epubprivate/OEBPS/Images/978-7-111-66363-8_28_01.jpg?sign=1739283143-CtRteWlIiHbWynzNDfTM7VhxDwaf2nLw-0-29ca46813e2a8abc3fd3d8587086541e)
图2.15 下载Anaconda文件
![](https://epubservercos.yuewen.com/3C8452/21889219301185006/epubprivate/OEBPS/Images/978-7-111-66363-8_28_02.jpg?sign=1739283143-CftCuo9kgcur1fFN6jHUwYkwRAYyjAFz-0-e4bb027df8a4c73aa4e1246dddd068b4)
图2.16 程序运行结果
![](https://epubservercos.yuewen.com/3C8452/21889219301185006/epubprivate/OEBPS/Images/978-7-111-66363-8_28_03.jpg?sign=1739283143-Ox73hMKe2hbsIfkY1Luj2PwjH2dJ5Uc8-0-032154664668a35fafb388497e9e454f)
图2.17 Anaconda包含应用
● Jupyter Notebook:基于Web的交互式计算环境,可以编辑易于人们阅读的文档,用于展示数据分析的过程。
● Spyder:一个使用Python语言、跨平台的科学运算开发环境。相对于PyDev、PyC-harm、PTVS等Python编辑器,Spyder对内存的需求小很多。
下面,对Anaconda的环境变量进行配置。打开Anaconda Prompt,出现类似于cmd的窗口,在其中输入conda--version命令,运行效果如图2.18所示。
![](https://epubservercos.yuewen.com/3C8452/21889219301185006/epubprivate/OEBPS/Images/978-7-111-66363-8_28_04.jpg?sign=1739283143-7kMF3MksWtcbKyXtUN60HLDu1Tf2a9z0-0-cf49781349d20791a44492f0b908444b)
图2.18 Anaconda版本
在Anaconda Prompt中输入命令conda create-n env_name package_names。
其中,env_name是设置环境的名称,package_names是安装在环境中的包名称。
![](https://epubservercos.yuewen.com/3C8452/21889219301185006/epubprivate/OEBPS/Images/978-7-111-66363-8_29_01.jpg?sign=1739283143-0RIuLx16vAU1B9JJTohKkf6JdCJPsZ5p-0-938790292591114ba16a1a2516118ca9)
运行效果如图2.19所示。
![](https://epubservercos.yuewen.com/3C8452/21889219301185006/epubprivate/OEBPS/Images/978-7-111-66363-8_29_02.jpg?sign=1739283143-rS6pxe0zOzmrXis19VRb6Snhzm4MVXl0-0-caa94d524e12d083a8f2308f2e6a29d9)
图2.19 创建基于Python3.6的名为test_py3的环境
在Anaconda Prompt中使用conda list查看环境中默认安装的包,如图2.20所示。
![](https://epubservercos.yuewen.com/3C8452/21889219301185006/epubprivate/OEBPS/Images/978-7-111-66363-8_29_03.jpg?sign=1739283143-ARiWddvJDeaC1rnW0H7uDfEzoVz0ERfv-0-8bb9235d38b3fe83b4f2ad08e059fdff)
图2.20 查看环境中默认的安装包
在Anaconda下,Python的编辑和执行有交互式编程、脚本式编程和Spyder3种运行方式。
(1)交互式编程
交互式编程是指在编辑完一行代码后,按〈Enter〉键会立即执行并显示运行结果。在test_py3环境中输入python命令并按〈Enter〉键后,会出现>>>,进入交互式编程模式,如图2.21所示。
![](https://epubservercos.yuewen.com/3C8452/21889219301185006/epubprivate/OEBPS/Images/978-7-111-66363-8_29_04.jpg?sign=1739283143-3X5E3b5hBNxNY1OXswzcru9wCDYDIJZl-0-8fc8dfcb92ced8fe56694ebb66f886e7)
图2.21 进入交互式编程模式
![](https://epubservercos.yuewen.com/3C8452/21889219301185006/epubprivate/OEBPS/Images/978-7-111-66363-8_29_05.jpg?sign=1739283143-HJ6vgasV3A9d0rC0doBcaZ3ZlHfXve57-0-c03f1f2db9c0c0c10de1e48b52538af7)
在>>>后面输入Python语言的各种命令。例如,输入print('Hello world!')命令,如图2.22所示。
![](https://epubservercos.yuewen.com/3C8452/21889219301185006/epubprivate/OEBPS/Images/978-7-111-66363-8_30_01.jpg?sign=1739283143-8LcMz1qcvQuAoOVSVm4gVpZCZ71Yq2PJ-0-37f6497031093089d3e4058d55d85127)
图2.22 输入print('Hello world!')命令
(2)脚本式编程
Python和其他脚本语言(如R和Perl等)一样,可以直接在命令行里运行脚本程序。首先,在D:\目录下创建Hello.py文件,内容如图2.23所示。
然后,进入test_py3环境后,输入python d:\Hello.py命令,运行结果如图2.24所示。
![](https://epubservercos.yuewen.com/3C8452/21889219301185006/epubprivate/OEBPS/Images/978-7-111-66363-8_30_02.jpg?sign=1739283143-mmEjO2K6nfhxc2KbYQWd1W7eTxllvXyx-0-24c411271516802357cbac5ab7effc54)
图2.23 Hello.py文件内容
![](https://epubservercos.yuewen.com/3C8452/21889219301185006/epubprivate/OEBPS/Images/978-7-111-66363-8_30_03.jpg?sign=1739283143-YKVFoTCDCNbn1wE8Uqk9LOm7Pht1l1Cy-0-c9d79a5b7737109ad95fd8a18554d707)
图2.24 运行d:\Hello.py文件
(3)Spyder
Spyder是Python的集成开发环境,如图2.25所示。
![](https://epubservercos.yuewen.com/3C8452/21889219301185006/epubprivate/OEBPS/Images/978-7-111-66363-8_30_04.jpg?sign=1739283143-JIDS720sw6tYl3relSHhpOCrgAOrGpza-0-efa7f99a4ad7e809297cf9ebb5e25a1b)
图2.25 Spyder编辑器
2.3.4 Jupyter Notebook
Jupyter Notebook是Python的在线编辑器,在编辑的过程中,运行结果显示在代码的下方,方便查看。Jupyter Notebook可以将代码、图像、注释、公式和可视化的结果等信息保存到文件。
在Anaconda中打开Jupyter Notebook,如图2.26所示。
![](https://epubservercos.yuewen.com/3C8452/21889219301185006/epubprivate/OEBPS/Images/978-7-111-66363-8_31_01.jpg?sign=1739283143-zXdk29Q5dfSNSJSbeo3UCwnyMe266GmS-0-ca4e94fe324890585ccf0b001cdb83b8)
图2.26 Jupyter Notebook主界面
Jupyter Notebook有编辑模式和命令模式两种模式。编辑模式用于修改单个单元格,命令模式用于操作整个笔记本,具体如下所述。
(1)编辑模式(Edit Mode)
编辑模式如图2.27所示,右上角有一个铅笔图标,单元左侧边框线呈现绿色,按〈Esc〉键或按〈Ctrl+Enter〉组合键运行单元格可切换回命令模式。
![](https://epubservercos.yuewen.com/3C8452/21889219301185006/epubprivate/OEBPS/Images/978-7-111-66363-8_31_02.jpg?sign=1739283143-FzpAFA40f1ewFpjkIvgr73utRcIbNGwF-0-68fd93f9b5252ee371fa9d8852e5065a)
图2.27 编辑模式
(2)命令模式(Command Mode)
命令模式如图2.28所示,铅笔图标消失,单元左侧边框线呈现蓝色,按〈Enter〉键或双击单元格可变为编辑状态。
![](https://epubservercos.yuewen.com/3C8452/21889219301185006/epubprivate/OEBPS/Images/978-7-111-66363-8_31_03.jpg?sign=1739283143-dWUfNKmKz14D1n5gRMVTgo4nStK1JdOr-0-b3a8a457b2b62b625eccab870b1ef394)
图2.28 命令模式
编辑模式和命令模式两种模式的切换如表2.1所示。
表2.1 切换笔记本模式的可选操作
![](https://epubservercos.yuewen.com/3C8452/21889219301185006/epubprivate/OEBPS/Images/978-7-111-66363-8_32_01.jpg?sign=1739283143-OpkgRjqNqeTEXQPNLN3e5ToSAR6KnOcm-0-10ebf5c6dcb996fc7da860872cf818a6)
编辑模式下,可以使用非常标准的编辑命令来修改单元格的内容。命令模式的操作如表2.2所示。
表2.2 命令模式的操作
![](https://epubservercos.yuewen.com/3C8452/21889219301185006/epubprivate/OEBPS/Images/978-7-111-66363-8_32_02.jpg?sign=1739283143-Rw4kVxiahe5mjreDL5piP7YAwBsJPlAx-0-96ab644757dde845f0da75e997cedeb9)