![数据结构与算法(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=1739613094-tk4iyraQRu8AbPpOZlmXNXCXkFPOD3tS-0-e29ed78275358473a229d1ece71adc44)
图2.6 IDLE的命令行交互式模式
IDLE图形用户界面模式如图2.7所示。
![](https://epubservercos.yuewen.com/3C8452/21889219301185006/epubprivate/OEBPS/Images/978-7-111-66363-8_24_01.jpg?sign=1739613094-kHWTl6LtVo1GN01MifyplcPj8bOl935F-0-9e2cc3f9d6202cf0707ff8783d5a3da3)
图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=1739613094-qjQzeeBtjP1sN1PGK0LAcaB7EL8ErBE5-0-efd648043c84ca4ed9555fab41c61a22)
图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=1739613094-s50ZI35LYWOEvsKBpyCUbdkNff7Ec3nu-0-419065fc0f8f5446b0b835cab542a835)
图2.9 安装PyCharm步骤2
![](https://epubservercos.yuewen.com/3C8452/21889219301185006/epubprivate/OEBPS/Images/978-7-111-66363-8_25_02.jpg?sign=1739613094-RWUwNiaxHe6QoeZBZb0YFqO6EQexs8wj-0-e2ac43ff9f9d1756b35d4edc6493ccf7)
图2.10 运行PyCharm
![](https://epubservercos.yuewen.com/3C8452/21889219301185006/epubprivate/OEBPS/Images/978-7-111-66363-8_25_03.jpg?sign=1739613094-YoG9F5C6wNzwTIu0SpY6XjsyKgJu3IbB-0-56d143bbb0c95ab6a466f7f796097392)
图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=1739613094-T8FdiRT7BQyzPfL9yt063Xz24avNUdrx-0-8cef80b99ff1b6f9748c4e77a92d11c0)
图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=1739613094-BnMtvx0YKVXKMU1CS0x9ltzsDZh0YkWL-0-35f9ae00a7d134d43429cca5bce2c43a)
图2.13 Anaconda的网站
![](https://epubservercos.yuewen.com/3C8452/21889219301185006/epubprivate/OEBPS/Images/978-7-111-66363-8_27_02.jpg?sign=1739613094-KWdKxy3hzspSgBKSQMhVs4otBeUmVXpx-0-dfcea11d8a223a8812128dd8ec697178)
图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=1739613094-VSZwI47sKSQdFrefZJ5tz2Y1ybc5vLDF-0-1373732c5ccd3d9ac3c25a4b5f47832f)
图2.15 下载Anaconda文件
![](https://epubservercos.yuewen.com/3C8452/21889219301185006/epubprivate/OEBPS/Images/978-7-111-66363-8_28_02.jpg?sign=1739613094-JW3uI8MVEcbsALTEtOKYoxLcGh93BnRb-0-c28e1f1caf9cd0cd08c7ab33714a85dc)
图2.16 程序运行结果
![](https://epubservercos.yuewen.com/3C8452/21889219301185006/epubprivate/OEBPS/Images/978-7-111-66363-8_28_03.jpg?sign=1739613094-KRhWiIXcxOfNtZjIyRzq8aWSTJjEXEwz-0-3c09f19077ed92216275c4c88bb2cdb6)
图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=1739613094-xax2p4TL3bvAtUamBXJNkb14zFPZUzVI-0-01fb82e0f7db8110c9114f0da54f89ae)
图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=1739613094-bsTZ5kabRgxQz8SUJXs9WgfKZ7yRxted-0-b9c1d3a970b85af6e3dc36b3fe576575)
运行效果如图2.19所示。
![](https://epubservercos.yuewen.com/3C8452/21889219301185006/epubprivate/OEBPS/Images/978-7-111-66363-8_29_02.jpg?sign=1739613094-le3WpeHBV6ctD54XxyJTPtRrAUKJld6T-0-f9673cd11b42264132d2d1cb0caa4ee3)
图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=1739613094-hEFKkPZeW4sucWBWeYMzXjFOu3sVmxjx-0-fb28e2e7d9d025a9f2d15d5bfb3f7603)
图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=1739613094-K5luhisVyqWw8KYZQC4ykL9EHT7NhIZT-0-46e4e528d4e51331053cc0b6383f4f7d)
图2.21 进入交互式编程模式
![](https://epubservercos.yuewen.com/3C8452/21889219301185006/epubprivate/OEBPS/Images/978-7-111-66363-8_29_05.jpg?sign=1739613094-qNb41lSRzRIwWjK2qQkxpl3WQdsyry5X-0-6e143a6c2f5c76d9c366f5d80b70d414)
在>>>后面输入Python语言的各种命令。例如,输入print('Hello world!')命令,如图2.22所示。
![](https://epubservercos.yuewen.com/3C8452/21889219301185006/epubprivate/OEBPS/Images/978-7-111-66363-8_30_01.jpg?sign=1739613094-aaU4xNtQxuN15K2vgWMpyHt6g0PtShKP-0-760b1aa4daf9006f196adea975f93759)
图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=1739613094-O9LZ2dyoGcXu5qBV0ElVfUQRhhwt4by4-0-59311ae30a9084fb7cb2b390b32102f2)
图2.23 Hello.py文件内容
![](https://epubservercos.yuewen.com/3C8452/21889219301185006/epubprivate/OEBPS/Images/978-7-111-66363-8_30_03.jpg?sign=1739613094-SfVNRwW1JWibvt6ZswudWw1eL8mTPI3P-0-a6d0c8245b6178e6148c508f99441fc2)
图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=1739613094-cZx8N9wU8x69JRFtHAlUpZPBjQwmckq9-0-8891922a7d06064125983fb6375e0aec)
图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=1739613094-henoOW7SxrQRQD7D50HAh3zDnGn9ilgt-0-c989ab27d807091e02b54b85d37d2c79)
图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=1739613094-XzXKaqlWKtIb1eW0I4RD0m0qr9y1pvaL-0-1e2121814413af92804889b274c6526f)
图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=1739613094-JZth3s9fDvyTkmzjNpRtzeDOHC0ru0p5-0-31e3772eb2abc1f6d211d81f49e9752a)
图2.28 命令模式
编辑模式和命令模式两种模式的切换如表2.1所示。
表2.1 切换笔记本模式的可选操作
![](https://epubservercos.yuewen.com/3C8452/21889219301185006/epubprivate/OEBPS/Images/978-7-111-66363-8_32_01.jpg?sign=1739613094-tH0urirgEN2K5nmksxjR9DcwqwrcIrDv-0-3ca943c04e23c1d42bf20c1ada7051ea)
编辑模式下,可以使用非常标准的编辑命令来修改单元格的内容。命令模式的操作如表2.2所示。
表2.2 命令模式的操作
![](https://epubservercos.yuewen.com/3C8452/21889219301185006/epubprivate/OEBPS/Images/978-7-111-66363-8_32_02.jpg?sign=1739613094-P1xHYuJLRhL4ZVmuvCvfH5wl5glimSe3-0-a61e1067e3d78cf0573f47af55c24363)