第1章Python基础知识 如果要编写简洁的代码实现自动化的任务,或者是通过学习编写程序来解决一些问题,但在此过程中又不想学习和了解过多的算法细节或复杂的计算机数据结构; 或者只是想快速地解决工作中遇到的问题; 或者想使用一种高级的计算器完成一组数据的计算并立即看到运算结果; 或者学习使用Python来提高工作效率,那么Python语言可以满足你的这些需求。 随着你对这门语言的学习越来越深入,你会逐渐喜欢Python语言,因为有句玩笑话“人生苦短,Python是岸”。 本章主要内容: ■ Python的发展; ■ Python的安装与配置; ■ Python开发工具。 1.1初 步 认 识 1.1.1Python 的发展 1. Python的由来 英文单词Python,中文翻译是“蟒蛇”,很多介绍Python的教材或程序员手册,多以“蟒蛇”图案用于书籍的封面设计,但Python语言的创始人吉多·范罗苏姆(Guido van Rossum)在1989年开始着手编写 Python的时候,同时还阅读了刚出版的 “Monty Python 的飞行马戏团”剧本,这是一部自20世纪70年代开始播出的 BBC 系列喜剧。 吉多·范罗苏姆决定选择一个简短、独特而又略显神秘的名字——Python,Python语言结合了Unix shell和C的习惯,经过30年的不断发展与软件迭代,Python已经成为目前世界上使用最多的语言之一。 2. Python的优缺点 Python语言作为一种解释型的高级语言,因为具有开源免费、简单易学、可移植性强、开发效率高、可扩展、可嵌入以及面向对象的特点,日益受到全球Python爱好者的欢迎,目前已经发展成为全球最受欢迎的编程语言之一。 Python语言的使用范围比较广泛,应用领域涉及数据科学、云计算、Web开发、网络爬虫、系统运维、图形界面开发等。全球初学者可以不必深入了解数据在内存中怎么存储,不必深入了解技术细节问题,在拥有大量成熟的第三方库的背景下,Python爱好者只需要导入软件包并编写简短的代码就可以快速、高效地解决问题。 虽然Python语言易学易用,优点较多,但同其他高级语言一样,也不是完美无缺的,具体表现在: 由于解释型语言的局限性,Python语言编写的程序运行速度相比C语言和Java编写的程序要慢。但随着硬件设备及计算能力的增强,运行速度慢的缺点正在得到改善; Python的代码(脚本)都是以明文形式存放的,虽然可以使用一些工具编译成可执行文件,但对于要求较高的场合,比如代码不宜公开的算法和处理细节,建议使用其他高级语言来编写。 1.1.2Python 2和Python 3 1. 初识Python版本号 Python 2和 Python 3 是Python语言发展过程中的两个不同版本系列,典型的区别是print语句和print() 函数。 >>> print "Hello World!"# Python 2版本使用print语句输出数据 >>> print("Hello World!")# Python 3版本使用print()函数改进输出 Python 版本的编号形式是 A.B.C 或 A.B。 A 称为大版本号,它仅在对语言特性进行非常重大改变时才会递增。 B 称为小版本号,它会在语言特性发生较小改变时递增。 C 称为微版本号,它会在每次发布问题修正时递增。 Python语言典型的版本号有Python 2.x 和Python 3.x ,两个版本的基本情况详见表1.1。 表1.1不同Python版本的学习要点 版本号 发布时间 停止支持日期 学 习 要 点 备注 2.0 2000年 10月 加入了内存回收机制,构成了Python语言框架的基础 2.7 2010年 7月 2020年 1月1日 Python 2.0的最后版本,目前最新的版本号为2.7.18 使用时间长,大多数库都支持,在Python发展过程中得到广泛的使用 引入了Python 3.0的一些新特性,允许使用3.0的部分语法和函数 在Python 2.7下正常运行的程序可以通过“2to3”的转换工具将代码迁移到3.0上 2020年1月1日之后不再维护和更新,建议用户迁移到3.x版本 续表 版本号 发布时间 停止支持日期 学 习 要 点 备注 3.0 2008年 12月 对2.0中不再向下兼容,不能直接调用Python 2.0代码开发的库,而必须使用 Python 3.0代码开发的库 3.5 2015年 9月 2020年 9月13日 3.6 2016年 12月 2021年 12月23日 Python的成熟版本3.6 3.5+以上的版本不能在Windows XP或更早的Windows 版本下运行 3.7 2018年 6月 2023年 6月27日 目前大多数广泛使用的库都支持 教材案例使用的版本号 3.8 2019 年10月 2024年 10月 品牌笔记本预装的Windows 10和Mac OS 系统在用户使用Python 3里默认下载安装最新的Python版本号 2. 不同版本使用的建议 对于Python 2.x系统依赖性较强的,基于Python 2.x开发的程序在版本迁移上困难或者迁移成本较高的情况下,可以继续使用。在一般情况下,建议读者从Python 3.6或Python 3.7 版本开始学习Python语言。本书的所有案例均在Python 3.7版本下编写并实现,目前大多数广泛使用的模块和包均可以在互联网上下载到与之相匹配的版本。 1.1.3Hello World Python安装好后,我们可以使用 “Win+R” 快捷键打开Windows 控制台,在命令提示符下输入Python命令,如果见到 “>>>”的提示符,就进入到Python的交互平台,在交互平台可以编写一条简单的Python语句输出“Hello World”字符。 【例1.1】经典的“Hello World”程序。 >>> print ("Hello World") 结果: Hello World 如果在Windows 控制台“命令提示符”下输入Python命令,没有显示“>>>”的提示符,而是显示“'Python' 不是内部或外部命令,也不是可运行的程序或批处理文件。”内容,意味着Python没有正确安装或者没有配置好环境变量path,请参考1.2节内容进行环境变量path内容的配置。 1.2环 境 搭 建 Python是一种跨平台的编程语言,在各种主流操作系统上都能够得到很好的运行,代码具有良好的兼容性。 1.2.1Linux系统 如果我们需要在基于Linux内核的环境进行Python程序的开发或者测试,那么就需要了解在Linux环境下如何安装和使用Python。 下面简单介绍如何在Windows 10操作系统上配置Linux子系统以及基于Linux内核的Ubuntu环境下Python的安装与使用。 Windows 10操作系统推出用于Windows 的Linux子系统功能,通过这个子功能,我们可以在此配置环境下轻松构建Linux内核下的Python编程环境。具体操作方法和步骤将以案例任务的方式进行呈现。 【例1.2】在Windows 10下启用“适用于Linux的Windows子系统”。 在“控制面板/程序/程序和功能”中“启用或关闭Windows功能”(使用“Win+X”快捷键调出系统管理菜单后单击“程序与功能”也可以进入“控制面板/程序/程序和功能”),勾选设置后依屏幕提示需要重启Windows,如图1.1所示。 图1.1启用“适用于Linux的Windows子系统” 【例1.3】 Windows 10系统下Linux系统的安装。 本例题以安装基于Linux内核的外围共享软件Ubuntu进行介绍。 (1) Bash命令。 使用“Win+R”命令,调出运行对话框。 在运行对话框中输入cmd后,按回车键或点“确定”按钮,进入Windows控制台(命令提示符界面)。 在Windows命令提示符界面输入bash命令,未安装将显示图1.2的文字内容。 图1.2Bash 命令执行后显示“执行Linux程序的Windows 子系统没有已安装的分发版” (2) Windows 10的应用商店中下载共享软件Ubuntu。 具体步骤如下。 在Windows 10任务栏单击“放大镜”图标。进入应用商店,找到Ubuntu图标后单击get,进入下载界面,如图1.3、图1.4所示。 Windows 10会自动下载Ubuntu,就像在智能手机上安装App应用程序一样。下载完成后,Windows 会自动安装Ubuntu,如图1.5所示。 安装结束后屏幕提示是否创建快速启动图标在“开始屏幕”内,一般默认选中此项,以后就可以在Windows“开始屏幕”内找到Ubuntu图标并启动Ubuntu。 图1.3安装Ubuntu(1) 图1.4安装Ubuntu(2) 图1.5安装Ubuntu(3) 小结: Linux属于内核,单独的内核需要外围环境软件的支撑,Ubuntu属于GNU/Linux 发行版。如同智能手机中的Andorid手机就是一个基于Linux的软件环境。 Ubuntu由于尊崇“免费开源和个性化”在Linux众多发行版中显得尤为突出,深受Linux爱好者的青睐,他们使用它来学习Linux应用编程和Linux平台下的驱动开发,因此对于初学者来说,使用Ubuntu来学习Linux是一种比较切实可行的途径。 【例1.4】检查Ubuntu是否安装了Python。 在Ubuntu系统提示符“$”下,输入下面的命令可以完成相应的检查,如图1.6所示。 使用Python3version 查看已经默认安装了最新的Python版本; 使用ls /usr/local/lib 可以查看本机安装的所有Python版本。 图1.6检查本机安装的最新Python版本和历史版本 如果检查中发现本机未安装最新的Python版本,可以参考案例1.5对Ubuntu系统进行软件升级。 【例1.5】对Ubuntu系统进行软件升级。 使用下面的命令对Ubuntu系统进行软件升级,升级所花的时间根据网络环境的不同而有所差异,如果安装过程中出现卡住的情况,即进度条(下载百分比)没有走动,可以按一下键盘上的Enter键,安装结束后会自动返回Ubuntu系统提示符。如果安装过程有错误提示信息,建议读者将出现的错误提示信息复制到网页浏览器中作为搜索关键词进行搜索,一般都能够找到解决办法。 sudo apt-get update sudo apt-get upgrade 小结: 安装过程中常见以下问题。 ① 出现“Unable to lock directory /var/lib/apt/lists” 无法对目录加锁的提示信息: E: Could not get lock /var/lib/apt/lists/lock - open (11: Resource temporarily unavailable) Unable to lock directory /var/lib/apt/lists 解决办法是使用命令: sudo rm /var/lib/apt/lists/lock ② 出现“E: Some index files failed to download. They have been ignored, or old ones used instead.”提示信息。 解决办法: 出现下载失败的提示信息,有可能是域名解析的问题。可以试着修改DNS客户机配置文件: “/etc/resolv.conf”,添加nameserver 8.8.8.8。 操作语句是: vi /etc/resolv.conf ③ 显示resolv.conf文档只读,无法编辑信息E505: "/etc/resolv.conf" is readonly (add ! to override),那么可以按照表1.2对resolv.conf文档进行修改。 表1.2resolv.conf文档的修改步骤 操作命令 解释 :q! 退出vi编辑器并不保存修改的内容 sudo vi /etc/resolv.conf 以root 用户权限取得文档的编辑权限 i 进入vi编辑器的插入模式 nameserver8.8.8.8 在resolv.conf文件中添加的内容 Escape键 (键盘ESC按键) 退出insert 编辑模式 :wq! 保存修改并退出 对Vi编辑器的操作,感兴趣的读者可以在互联网上搜索相关的资料进行学习。 【例1.6】在 Ubuntu系统,输入Python 3命令进入Python解释器(交互环境),输出“hello Python”信息。 C: \Users\qh>bash qqh@DESKTOP-CS6P3TV: /mnt/c/Users/qh Python3 Python 3.8.2 (default, Jul 16 2020, 14: 00: 26) [GCC 9.3.0] on Linux Type "help", "copyright", "credits" or "license" for more information. >>> print ("Hello Python!") 结果: Hello Python! 小结: (1) 使用bash命令可以在Windows命令提示符下进入Ubuntu。 (2) 输入Python 3 命令可以启动Python解释器。 (3) 进入到Python解释器后的所有操作与Windows解释器下的操作是相同的。 (4) 如果要退出Python解释器,可以输入exit()函数退出,也可以按下“Ctrl+D”组合键,如果继续按“Ctrl+D”组合键则返回Windows 命令提示符。 (5) 在Linux 中“Ctrl+D”组合键相当于logout(退出)命令。 【例1.7】在Linux 环境下安装包的方法。 首先下载pip3并进行自动安装,这条命令是从archive.ubuntu.com的服务器上下载安装包,如果读者在安装时遇到问题,可以尝试修改更新的源的地址信息,从国内的服务器上进行下载和安装,这方面的资料可以在互联网上搜索。 sudo apt install Python3-pip 一般会提示如下信息: Need to get 27.0 MB/46.7 MB of archives. After this operation, 200 MB of additional disk space will be used. Do you want to continue? [Y/N] 此时输入“Y”按“回车键”继续,安装过程稍显慢长,读者耐心等待安装完成。如果在安装过程中出现“Processing triggers for libcbin (2.310ubuntu9)...”信息,并有“卡住”信息没有更新的情况,一般是安装好了。只需按“回车键”返回Unbutu提示符即可。 安装完成后,可以使用下面的命令,查看pip3的版本信息。 pip3 -V pip3配置好后就可以使用pip3来安装Python库了,具体用法为 pip3 install<库名称> 1.2.2苹果OS系统 Mac OS系统和Linux发行版类似,在最新版中默认自带Python 2.7版本,如果自带的版本不符合编程的需求,可以在终端中输入Python命令查看及启动已经默认安装的版本,如果想检测是否安装了Python 3.x,可以在终端(Terminal)窗口中输入Python 3命令,此时Mac OS会弹出对话框,询问用户是否安装Python 3版本,此时依屏幕提示进行下载安装即可。 如果有特殊需求,可以在Python官网上下载适用于苹果系统的特定版本的Python 3进行安装,操作方法和我们即将介绍的Windows系统下安装 Python的过程类似。 1.2.3Windows系统 以安装最新版的Python 3 为例,在Windows 10操作系统上安装Python可以选择两种方式进行安装,读者可以根据自己计算机的配置情况选择合适的Python版本来进行安装。需要特别注意的是如果计算机安装的操作系统是Windows XP或以下的系统,建议下载Python 3.5以下的版本进行安装。Python 3.5及以上的版本适用于Windows 10操作系统。 方式一: 进入Windows 10 控制台界面,输入命令Python,如果已经安装过则进入Python解释器; 未安装则系统弹出Windows 10应用商店,显示最新版本的Python信息,用户可以根据屏幕的提示信息进行安装。 方式二: 从Python的官网(www.Python.org)下载Python 3进行安装。 具体步骤如下。 根据操作系统的版本,从Python的官网下载需要的Python 3.x安装程序,如图1.7和图1.8所示。 图1.7Python官网截图 图1.8Python官网上下载软件的页面截图 网址为https://www.Python.org/downloads/Windows/ 如何选择需要的安装程序文件,取决于采用什么方式进行安装,具体可以参考表1.3进行选择。 表1.3Python安装的方式与程序文件包含的提示信息 安装方式 安装程序文件名包含的提示信息 备注 联网(在线)安装 webbased installer 需要计算机在连接互联网的环境下进行安装,下载的文件较小 嵌入式版本 embeddable zip file 下载的文件为压缩包,可以集成到其他应用中使用; 需要解压缩到指定文件夹内使用,解压缩后需要配置启动环境,不需要安装 可执行程序 executable installer 下载后可以离线安装,不需要连接互联网 通常安装程序文件名还包含有“Windows x86”和“Windows x8664”提示信息,它们分别表示32位和64位的版本。目前主流配置的电脑硬件和软件环境都支持64位的版本,一般如果没有特别需要,选择带有“Windows x8664”字符信息的安装版本进行下载。 第1步: 运行下载的安装程序。 以下载到的“executable installer”为例进行简要说明,双击安装程序进入安装画面。 第2步: 在安装画面内通常有“install Python 3.x.x (64bit)”字符信息,有两个选项,一个是“Install Now”表示立即按默认值进行安装,另一个是“Customize installation” 表示定制安装,这个选择要求设置Python的安装路径(安装位置),单击“Browse”(浏览)按钮可以选择安装的路径。在选项中有一项是“Add environment variables ”,这个选项是将Python 安装的路径添加到操作系统的环境变量path中。如果在安装时没有选中这个选项,可以手动修改path 环境变量,添加Python的安装路径。当用户设置好安装的选项内容后可以选择“install”按钮开始安装操作,安装结束后屏幕会提示“Setup was successful”的信息。Python安装程序“定制安装”选项主要内容如表1.4所示。 表1.4Python 安装程序“定制安装”选项的主要内容 定制安装提供的选项内容 是否为默认值 中文含义及说明 Install for all users 否 Windows所有用户均可以使用Python Associate files with Python 是 使用Python打开扩展名为.py的文件 Create shortcuts for install applications 是 安装结束后创建Python应用程序的快捷图标 Add environment variables 否 添加进操作系统环境变量 第3步: 安装成功后可以在Windows控制台,输入Python命令查看能否进入Python解释器。 1.3开 发 工 具 “工欲善其事,必先利其器”,初学者在学习Python语言时,需要了解和熟悉一些常用的开发工具,学习建议是学会使用Windows自带的记事本阅读或查看Python源代码,熟悉