编程改变生活:用Python提升你的能力(基础篇·微课视频版)
上QQ阅读APP看书,第一时间看更新

第一部分 基础知识

第1章 Python概述

很多初学编程的朋友会有一个普遍性的问题,我要学什么编程语言?市面上的热门编程语言有好几种,这让初学者感到困惑,不知如何做出选择。初学编程的朋友也有一种普遍的想法:我要选择一门“最棒”“最热门”的编程语言,我就学好这一门计算机编程语言,愿意花费大量的时间和精力,持之以恒地学习这门语言。

对于上面普遍性的问题和想法,可以综合起来一并回答。如何选择一门适合自己的编程语言?这要初学者考虑两个问题。第1个问题是学习编程的目标是什么?你要解决什么问题?实际的应用是什么?当前热门的编程语言,或者有持久生命力的编程语言,都有它们存在的道理,每一门编程语言都有其擅长的领域和应用。第2个问题是初学者愿意花费多长的时间和精力来学习这门编程语言?如何制定一份有效的学习计划?如何有效地执行这份计划?如何将这门编程语言应用于你的工作和学习中?每一门编程语言都有自己的学习难度曲线。有的编程语言入门难,应用这门语言解决问题需要成百上千行代码,需要很高超的编程思维,这要求编程学习者投入大量的时间,做大量的编程实例,才能学好这门语言。有的编程语言入门简单,应用这门语言解决问题只需几行到十几行代码。初学者只要掌握必备的知识和基本的编程思维,就能灵活地应用这门语言。如果初学者的学习自制力稍微差一点,就不需要经历“某某编程语言从入门到放弃”的过程了。

关键的问题是:有没有入门简单、应用广泛、不需要花费大量时间就能学好的编程语言?这个世界上还真有这样一门编程语言,就是Python。

当然有的初学者很调皮,他们学习编程的理由就是为了好玩。如果是为了好玩,来学习Python,这些初学者可真是太聪明了,真是物超所值!学习任何一门学科,从来都是一个不可逆的过程。因为任何一门学科除了必备的知识以外,还有认知的角度和处理问题的思维方法,这也是“外行看热闹,内行看门道”的原因。学习Python编程更是一个不可逆的过程。学习Python的过程会提升你的能力,让初学者将以往的知识和经验做一个串联整理,对当前的工作和学习有另外一种处理问题的方法,让碎片化的知识和方法形成一个体系,对事物有另外一层的认识和理解,甚至改变你的思维方式。

如果你是个编程老手,那就无须多言,开始我们的学习吧!本章首先从宏观角度介绍Python的历史、发展及其技术优势、特性和语言风格。工欲善其事,必先利其器。学习Python编程语言,还需要读者着手一些开发的准备工作,本章手把手带领读者搭建一个Python编程开发环境。

1.1 Python的历史与发展

这个世界上存在着几百种计算机编程语言,实际上流行起来的也就十几种。1989年的圣诞节,Guido van Rossum感觉很无聊,就发明了Python编程语言。时隔30多年,这名荷兰人也未必预料到,Python会成为稳居前三位的编程语言。

1.1.1 Python简介

Python是一种跨平台、开源、免费、解释型的高级编程语言。Python编程语言的设计哲学是优雅、明确、简单。用通俗的语言解释这种设计哲学就是:用较少的代码,更快、更有效率地解决问题。Python始终坚持这一理念,这让很多程序开发人员获益匪浅,以至于网络上流传着“人生苦短、我用Python”的说法。

为什么Python可以用较少的代码,更快、更有效率地解决问题呢?这因为Python是一种扩充性强大的语言。Python语言具有丰富和强大的“武器库”,能够把其他语言制作的模块联结在一起,并且具有整合内化成Python语言的能力。例如,用于数学运算的NumPy模块、用于符号运算的SymPy模块、用于绘图的Matplotlib模块、用于HTML解析的Beautiful Soup模块、用于绘制向量图的Pygal模块、用于网络请求的Urilib3模块等。这些模块相当于强大的“武器库”,大大扩展了Python的能力边界。

Python是一门高级编程语言。相对于汇编语言更接近机器的操作命令,Python更接近人的思维。明确、简单的设计理念,让初学者可以更快地学会Python语言。

Python语言还有一个强大的团队在维护和更新这门语言,不断地推陈出新,对Python进行更新换代。Python自发布以来,主要有3个版本。第1个版本是1994年发布的Python 1.0版本,目前这个版本已经过时。第2个版本是2000年发布的Python 2.0版本,2020年4月20日这个版本更新到Python 2.7.18,这是Python官方发布的最后一个Python 2.0版本,如图1-1所示。

事实上,Python 2.7原计划在2015年就退役,但因为当时Python 2有大量Web用户,Python基金会讨论后决定延期5年,同时将Python 3.4的OpenSSL模块(可以保护互联网用户之间安全通信,防止窃听)下放到Python 2.7,以免过期版本对互联网的潜在危害。

第3个版本是2008年发布的Python 3.0版本,截至2022年6月,Python 3.0稳定版本已经更新到Python 3.10.5,Python 3.0内测版已经更新到Python 3.11.0b3。Python 2.x版本和Python 3.x版本差异比较大,所以Python 2.x版本的代码不能直接在Python 3.x环境下运行。如果要Python 2.x版本的代码能够在Python 3.x版本的环境下运行,则需要修改源代码。针对这一棘手问题,Python官方提供了一个将Python 2.x代码转换为Python 3.x代码的小工具2to3.py。2to3.py文件就保存在Python安装路径下的Tools\Scripts子目录中,具体的用法将在后面的章节中论述。虽然Python 3早在2008年就发布了,但Python的大客户Facebook、Instagram、Dropbox等公司,花费了数年的时间才完成代码的迁移,即便如此,Python官方还是坚持推出全新的Python 3.x版本,坚持优雅、简单、明确的设计理念,舍弃与时代、行业发展不符合的部分。这本书对于Python的论述,主要选用Python 3.x版本,如图1-2所示。

图1-1 Python 2.7.18安装包

图1-2 Python 3.x最新版本安装包

Python语言的特色和独特的设计理念,让Python变得越来越出色,很难不被人发现它的才华出众。从2004年开始,Python的使用率呈指数级增长,逐渐受到编程者的欢迎和青睐。这种趋势从2018年开始,越来越明显,如图1-3所示。

图1-3 编程语言流行趋势图

1.1.2 Python与Java、C语言的对比

从图1-3所示编程语言流行趋势图可以看出,从2018年以来,Python与Java、C语言常常位列编程语言前三位。将Python与Java、C语言做一个对比,见表1-1。

表1-1 Python与Java、C语言的对比

C语言在编译运行时,首先将程序代码一次性地转换成机器指令码,简称为机器码(用于指挥计算机应做的操作和操作数地址的一组二进制数)。运行过程中,机器码会保存,下次运行时,直接运行机器码,因此C语言的运行速度非常快。C语言的内置函数(编程语言预先定义的函数)很少,代码量比较大。C语言常常应用在贴近硬件的开发中,例如单片机的开发、嵌入式开发等领域。C语言的编译运行流程图如图1-4所示。

图1-4 C语言的编译运行流程图

Java语言在编译运行时,首先将程序代码转换成字节码,然后运行程序。字节码是一种包含执行程序并由一序列op代码/数据对组成的二进制文件,是一种中间码。字节是计算机里的数据量单位。字节码由Java虚拟机解释执行,并且在虚拟机中把代码转换成平台能够识别的机器码来运行程序,因此,Java语言的运行速度比较快。Java语言中有一些内置函数,代码量比较大。Java语言的编译运行流程图如图1-5所示。

图1-5 Java语言的编译运行流程图

Python语言的运行方式是边解释边执行,是将Python代码逐行转换为机器码并运行的过程。运行过程中,机器码不会保存,因此,相对于C语言和Java语言,Python的执行速度比较慢。由于Python语言有丰富的模块和内置函数,因此Python语言的代码量较小。另外,Python的代码不能加密。整体来看,Python语言是一门优势和缺点很突出的计算机编程语言。Python语言的编译流程图如图1-6所示。

图1-6 Python语言的编译流程图

由于Python语言的优势和缺点同样突出,因此Python语言有不适合的应用领域。例如贴近硬件的开发,首选C语言;手机App的开发,iOS系统的开发使用Object C或Swift语言,安卓系统(Android)使用Java语言或Kotlin语言,鸿蒙操作系统(HarmonyOS 3.0)使用C/C++语言或JavaScript语言。游戏的开发需要高速渲染,一般使用C/C++语言。

既然Python语言的运行速度比较慢,为什么Python的使用率还这么高?为什么很多开发人员喜欢使用Python语言?这是因为随着计算机硬件技术的发展,CPU的性能越来越优越,固态硬盘的出现,大幅提高了硬盘的读取和写入速度。现在制约Python运行速度的主要因素是网络传输的速度,如同你有一辆性能优异的豪车,却行驶在拥挤的高速路上,优越的性能并不能发挥出来。另外,这些程序开发人员的时间很宝贵,公司的任务很繁重,使用Python可以方便、高效地解决问题,为什么不使用Python呢?余生太短,只用Python!

1.1.3 Python的应用领域

由于Python语言的特点,Python的应用范围非常广泛,主要有以下几个领域。

第1个是数学运算,包括各种数学函数的数值计算,以及线性代数的矩阵运算、高等数学的微积分运算,以及解复杂的微分方程。不仅是数值的计算,更有代数式的运算,不过,代数式的运算在计算机看来是符号运算。

第2个是绘制图像,包括印刷级别的散点图、折线图、饼图、柱状图、频率直方图,以及显示在浏览器上的向量图,例如折线图、圆环图、柱状图、饼图、雷达图等。很多公司的大屏数据可视化,都有Python语言写成的可视化模板。

第3个是办公自动化,包括简单的文件操作、目录操作、压缩文件操作、Excel电子表格的操作、Word文档的操作、PDF文档的操作、PPT演示文稿的操作、数据库的增、删、改、查等。现在图形化操作系统给人们的工作和学习带来了很大方便,如果处理一个稍微大数据量的事情,就意识到了办公自动化带来的好处。例如给计算机中的文件修改名字,如果修改几十个文件,人们还不会感到麻烦;如果修改1000个文件的名字,甚至修改10 000个文件的名字,则这个工作量可是够大的。当遇到这样简单而又需要大量重复性的工作时,办公自动化便显示出它的优势了。如果学会了Python语言,则在处理这样的问题时可以创建一些脚本工具,批量化地处理此类问题。

第4个是创建GUI。GUI是Graphical User Interface的缩写,即图形用户界面。Python语言提供了很多工具包帮助开发。本书会选择两个典型工具包来讲解。

第5个是网络应用。例如使用Python编写网络爬虫,简单高效。使用Python编写好的程序,对网站进行安全测试和维护。

第6个使用Python处理一些大问题。例如创建网站,Python提供了很多Web开发框架:轻量级的Flask框架、重量级的Django框架、异步高并发的Tornado框架。学习这些知识,需要预先学习网站的架构及数据库等必备知识,有一些门槛,否则学起来会感觉云山雾罩,不知所以。还有计算机视觉处理、机器学习、大数据处理,处理这些问题需要学习相应学科的必备知识,这些问题是有门槛的大问题。

注意:Web开发框架是为了帮助开发者更快地开发出动态网站所提供的框架,支持开发者方便、快捷地创建动态网站,创建网络应用程序,以及提供网络服务。做一个简单的类比,创建一个动态网站,就像建造一栋大楼,这是一个很大的工程。如果使用Python语言从头开发,无异于从打地基开始一砖一瓦地进行建造,非常耗费时间和精力。Web开发框架相当于已经帮你建造了大楼的框架,开发者所需要做的是对大楼的毛坯房进行装修。

Python语言同样受到了各大互联网公司的青睐和使用。国外的视频网站YouTube是使用Python语言开发的,国内的搜狐邮箱和豆瓣网是采用Python语言开发的,著名的云计算平台OpenStack是使用Python语言开发的,谷歌的机器学习框架TensorFlow是采用Python语言开发的,使用Python语言可以对这个学习框架进行二次开发。

1.2 搭建Python开发环境

工欲善其事,必先利其器。在正式学习Python之前,需要搭建Python开发环境。Python语言是个跨平台的开发工具,可以在Windows、Linux、Mac等系统上运行。如果使用Linux系统,则可能已经预装了Python开发环境。只需在Linux系统终端中输入python,按Enter键便可以验证。例如著名的Kali Linux系统预装了Python 2.x版本和Python 3.x版本,分别如图1-7和图1-8所示。

图1-7 Python 2.7运行在Linux系统上

图1-8 Python 3.6运行在Linux系统上

注意:Kali Linux系统是基于Debian的Linux发行版开发的系统。Kali Linux预装了许多渗透测试软件。Python在渗透测试方面有优势,因此预装了两个版本的Python语言。

1.2.1 安装Python

大部分个人计算机使用的是Windows系统。下面主要演示如何在Windows系统上创建Python开发环境。

1.下载Python安装包

(1)打开浏览器,登录Python的官方网站,输入网址www.python.org,如图1-9所示。

图1-9 Python的官方网站

(2)选择Downloads,网页会显示一个下拉菜单选项,如图1-10所示。单击Windows,进入适合Windows系统的Python安装包下载页面。

(3)如果使用的是64位的Windows操作系统,则下载64位的安装包;如果使用的是32位的Windows操作系统,则下载32位的安装包。如果使用的是Windows 7系统或更早的版本,就选择一个可以运行于你的Windows系统版本上的安装包,如图1-11所示。

图1-10 安装包下载界面

图1-11 适合Windows系统的Python安装包下载页面

注意:图1-11中,Stable Releases指稳定版,Pre-releases指内测版。初学者和编程开发者选择稳定版即可。Windows embeddable package是指Windows系统的可嵌入式安装包,可以集成在其他应用中。初学者选择Windows installer进行下载即可。如果是编程开发者,由于最新版本的安装包对某些模块的支持不好,建议选择稍微旧一点的版本或者32位的安装包,进行下载并安装。

(4)选择适合的Windows操作系统版本的安装包,单击Download后面的安装包进行下载。本书选择的是64位的Windows系统的Python 3.10.5版本(不适合运行在Windows 7或更早版本的Windows系统上),如图1-12所示。

图1-12 下载Python安装包

(5)下载完成后,会得到一个名称为python-3.10.5-amd64.exe的可执行文件。

2.在Windows 64位系统中安装Python

在Windows 64位系统上安装Python 3.10.5的步骤如下。

(1)双击下载的Python安装文件python-3.10.5-amd64.exe,之后计算机会显示安装向导对话框,选中Add Python 3.10 to PATH复选框,表示将自动配置环境变量,如图1-13所示。

图1-13 Python安装向导

注意:在图1-13中,Install Now是指默认安装,Python的安装路径不能修改,默认安装路径在系统盘,不建议单击此选项。环境变量是Windows系统中一个非常重要的设置。由于它在Windows系统中非常隐蔽,所以一般用户很少接触到与它相关的知识,但这并不影响环境变量的实用性和便利性。最简单的一个应用就是,可以直接在Windows命令行窗口输入环境变量中已经设置好的变量名称,快速打开指定的文件夹或者应用程序。

(2)单击Customize installation按钮,选择自定义安装模式。自定义安装模式可以自己设置安装路径,不建议安装在系统盘下。单击按钮后,会继续弹出安装选项对话框,保持默认设置,如图1-14所示。

图1-14 设置安装选项对话框

注意:在图1-14中,勾选Documentation复选框,表示安装Python帮助文档;勾选pip复选框,表示安装用来下载Python包的工具pip;勾选tcl/tk and IDLE复选框,表示安装Tkinter模块和IDLE开发环境;勾选Python test suite复选框,表示安装标准库测试套件;勾选py launcher和for all users(requires elevation)复选框,表示安装所有用户都可以启动的Python发射器。

(3)单击Next按钮,将进入高级选项对话框。在该对话框中,将安装路径设置为D:\program files\python(读者根据自己的需求,自行设置安装路径),其他的设置采用默认设置,如图1-15所示。

(4)单击Install按钮,开始安装Python。安装完成后,如图1-16所示。

图1-15 高级选项对话框

图1-16 安装完成对话框

1.2.2 第1个Python程序

通过上面的步骤,已经成功地安装了Python开发环境。Python的开发环境,不仅安装了Python的解释器,而且还安装了一个自带的编辑器IDLE。读者可以使用IDLE进行简单的编程。

1.使用IDLE创建Python程序

编程是程序员与计算机之间的交流,计算机通过屏幕向程序员打印输出信息,准确地说就是将文字、数字显示在计算机屏幕上。任何编程语言都有打印输出信息的内置函数,Python打印输出的内置函数是print()。下面使用IDLE创建Python程序。

(1)单击Windows 10系统的开始菜单,在显示的菜单中,选择IDLE(Python 3.10 64-bit)菜单项,即可打开IDLE窗口,如图1-17所示。

图1-17 IDLE窗口

(2)在当前Python提示符“>>>”右侧输入以下代码,然后按Enter键。

    print("优雅明确简单")

运行结果如图1-18所示。

图1-18 IDLE窗口运行结果(1)

(3)在当前Python提示符“>>>”右侧输入以下代码,然后按Enter键。

    100+23

运行结果如图1-19所示。

从上面的例子读者可以体会到Python的编译运行过程,即一行一行地将代码编译成机器码并执行,中间并不保存机器码。读者可以利用IDLE编辑器进行一些数学计算。

注意:如果在中文状态下输入代码中的小括号或者双引号,将会导致语法错误,初学者切记。学过其他编程语言的读者会发现,不同于C语言等编程语言,每行Python代码的结尾没有分号。

图1-19 IDLE窗口运行结果(2)

2.使用Windows命令行窗口创建Python程序

在安装Python文件包过程的第1步时,已经给Python设置了环境变量。读者可以使用Windows命令行窗口创建Python程序,步骤如下:

(1)按快捷键Win+R,打开Windows运行窗口。Win键是指键盘上有微软公司图标的那个键盘,如图1-20所示。

图1-20 Windows运行窗口(1)

(2)在Windows运行窗口中,输入命令cmd,按Enter键,进入Windows命令行窗口,如图1-21和图1-22所示。

图1-21 Windows运行窗口(2)

(3)在Windows命令行窗口中,输入python,按Enter键后就进入了Python的交互命令行窗口中。读者可以在这个窗口中创建并运行Python程序代码。运行效果和IDLE类似,如图1-23所示。

图1-22 Windows命令行窗口

图1-23 Python命令交互窗口

注意:在Windows命令行窗口中输入python后,如果显示“'Python'不是内部或外部命令,也不是可运行的程序或批处理文件”,则说明读者在安装Python时没有勾选“Add Python 3.10 to PATH”复选框。对于这个问题,有两种解决方法:第1种方法,卸载Python软件,重新安装,切记一定要勾选Add Python 3.10 to PATH复选框。第2种方法,给计算机配置环境变量,具体步骤如下:右击“我的计算机”,选择“属性”,选择“高级系统设置”,选择“环境变量”,选择path,单击“编辑”按钮,在弹出的窗口中单击“新建”按钮,输入安装Python的路径D:\program files\Python\;D:\program files\Python\Scripts:\。注意不同版本的Windows操作系统添加环境变量的步骤稍有不同,一定要添加自己计算机下的Python路径。对比一下,第1种方法更简单一些,操作计算机有这点好处,如果安装软件时犯错了,则可以退回到原点重新安装。

(4)在当前Python提示符“>>>”右侧输入以下代码,然后按Enter键。

    print("优雅明确简单")

运行结果如图1-24所示。

图1-24 Python命令交互窗口运行结果(1)

(5)在当前Python提示符“>>>”右侧输入以下代码,然后按Enter键。

    100+23

运行结果如图1-25所示。

图1-25 Python命令交互窗口运行结果(2)

(6)在当前Python提示符“>>>”右侧输入exit(),然后按Enter键,就可退出Python的命令交互窗口,进入Windows的命令交互窗口。exit()是Python的内置函数,用来中断并退出Python的程序。

运行结果如图1-26所示。

图1-26 退出Python命令交互窗口

有些读者可能习惯了使用图形操作系统,对于这样的命令行操作感觉比较陌生。对于这个问题,可以分为两个层次思考。第1个层次,以计算机用户为主体,以计算机为客体。使用图形操作或命令行操作各有优势。如果你熟悉命令行操作,则会意识到在处理某些事件上,命令行操作更有优势。第2个层次,以计算机为主体,以计算机用户为客体。使用图形操作系统需要耗费计算机大量的软、硬件资源,如果使用命令行操作,则只需要耗费很少的软、硬件资源,从而提高运行效率。这也是为什么大量网站的服务器不使用图形操作系统的原因。

如果读者对命令行操作比较陌生,建议改变一下命令行窗口文字的颜色。将文字设置成绿色。在搜索引擎上搜索一下简单的伪装成黑客代码命令行,简单运行一下,体会一下作为黑客的感觉。或者输入命令行代码“ping www.xxx.com-t”(中间是某网站的网址),体会一下用命令行窗口不间断访问网站的效果。可以同时按快捷键Ctrl+C中断访问网站的进程。熟悉并使用命令行操作计算机的方法会给读者带来意想不到的改变。

1.2.3 文本编辑器

1.2.2节讲解了如何使用IDLE和Python命令交互窗口创建Python程序。这两种方法是有缺点的,只能写一行代码,然后执行一行代码。为了提高开发效率,需要将代码写在一起,然后整体执行。对于Python,读者只需使用文本编辑器,就可以实现这一目标。

1.使用TXT文档创建Python程序

使用TXT文档来创建Python程序?读者可能会感到不可思议。实际上,完全可以做到,步骤如下:

(1)在计算机的D盘下,创建一个文件夹,命名为practice,寓意练习、锻炼。打开该文件夹,在该文件夹下创建一个TXT文档,命名为1-1.txt,如图1-27所示。

图1-27 在D盘practice文件夹中的TXT文档

(2)打开该TXT文档,输入以下代码,并单击保存(使用快捷键Ctrl+S可以方便、快捷地保存)。

    print('问刘十九')
    print('作者:白居易')
    print('绿蚁新醅酒,')
    print('红泥小火炉.')
    print('晚来天欲雪,')
    print('能饮一杯无?')

TXT文档如图1-28所示。

图1-28 输入代码的TXT文档

(3)对文档1-1.txt进行重命名,将文档的格式更改为.py,计算机会弹出一个对话框,单击“是”按钮,最终更改为1-1.py,分别如图1-29和图1-30所示。

图1-29 是否更改格式的对话框

图1-30 更改格式后的文档

注意:计算机的操作系统是通过文件的后缀名来识别文件的,如果文件的后缀名是.txt,则将被计算机系统识别为TXT文档;如果文件的后缀名是.doc,则将被计算机系统识别为Word文档。在计算机安装了Python程序后,如果文件的后缀名是.py,则将被计算机系统识别为Python程序文件。如此说来,计算机的操作系统还是比较容易被蒙骗的,不像人,人有反思的能力,也有逆反心理。

(4)按快捷键Win+R,打开运行窗口。在运行窗口中输入命令cmd,按Enter键,进入Windows命令行窗口,如图1-31所示。

图1-31 Windows命令行窗口

(5)由于当前的Windows命令行窗口的工作目录在C:\Users\thinkTom文件夹下,所以需要将该窗口的工作目录切换到D盘下的practice文件夹。在Windows命令行窗口下输入D:,按Enter键,然后输入cd practice,按Enter键,其中,cd是英文change direction的缩写,分别如图1-32和图1-33所示。

(6)在当前Windows命令行窗口中,输入python 1-1.py,按Enter键。读者就可以看到Python代码运行的结果,如图1-34所示。

图1-32 切换到D盘工作目录的命令行窗口

图1-33 工作目录切换到practice文件夹下的命令行窗口

图1-34 运行1-1.py后的命令行窗口

2.使用Sublime Text编辑器创建Python程序

通过上面的步骤,读者已经学会了使用TXT文档创建Python程序的方法。总体来讲,用TXT文档编写Python代码还是比较简陋的。代码只有一种颜色,功能比较单一,长时间盯着TXT文档编辑器,也比较伤害眼睛。工欲善其事,必先利其器。为了提高开发效率,需要更专业的文本编辑器,例如Sublime Text编辑器。

Sublime Text具有漂亮的用户界面和强大的功能,Sublime Text支持多种编程语言的语法高亮、拥有优秀的代码自动完成功能,还拥有调用代码片段的功能,可以将常用的代码片段保存起来,在需要时随时调用。这款强大的文本编辑器,虽然官方名义上是收费的,但支持用户无限期试用,所以读者完全可以放心、大胆地使用Sublime Text编辑器。下面详细介绍如何下载并安装Sublime Text编辑器。

(1)打开浏览器,登录Sublime Text的官方网站https://www.sublimetext.com,单击DOWNLOAD FOR WINDOWS按钮下载即可,如图1-35所示。

图1-35 Sublime Text编辑器官方网站

(2)下载Sublime Text安装文件,如图1-36所示。

(3)双击安装文件sublime_text_build_4126_x64_setup.exe,将显示安装向导对话框。在该对话框中,将安装路径设置为D:\program files\sublime text\Sublime Text(读者可自行设置路径),然后单击Next按钮,如图1-37所示。

(4)勾选Add to explorer context menu复选框。这样Sublime Text就能够被添加到右键快捷菜单中,当右击某文件时,就能够直接使用Sublime Text打开,然后单击Next按钮,如图1-38所示。

图1-36 下载Sublime Text的安装文件

图1-37 Sublime Text安装向导对话框

(5)单击Install按钮,如图1-39所示。

(6)单击Finish按钮,表示安装完成,如图1-40所示。

(7)Sublime Text编辑器安装完成后,在安装路径D:\program files\sublime text\Sublime Text下(读者需打开自己计算机的安装路径)找到sublime_text.exe文件。右击该文件,在显示的菜单栏中,选择“发送到”→“桌面快捷方式”。这样,读者就可以方便、快捷地使用Sublime Text编辑器了,分别如图1-41和图1-42所示。

图1-38 Sublime Text安装选项对话框

图1-39 Sublime Text安装对话框

图1-40 Sublime Text安装结束对话框

图1-41 安装路径下的sublime_text.exe文件

图1-42 设置Sublime Text的桌面快捷方式

安装好Sublime Text编辑器后,读者就可以使用该编辑器创建Python程序了,步骤如下:

(1)双击Sublime Text的桌面图标,打开Sublime Text编辑器,如图1-43所示。

(2)在Sublime Text的编辑器窗口的顶层菜单栏中有File选项。单击File后会显示下拉菜单,单击下拉菜单中的New File选项,表示创建一个新文件,分别如图1-44和图1-45所示。

图1-43 Sublime Text窗口

图1-44 Sublime Text创建新文件

(3)在新建的文件中,输入Python代码,代码如下:

    print('江雪')
    print('作者:柳宗元')
    print('千山鸟飞绝,')
    print('万径人踪灭.')
    print('孤舟蓑笠翁,')
    print('独钓寒江雪.')

图1-45 Sublime Text新文件窗口

在Sublime Text编辑器中输入的代码如图1-46所示。

图1-46 Sublime Text窗口

(4)按快捷键Ctrl+S,保存写好的Python代码。在弹出的对话框中将文件命名为1-2.py,然后将文件保存在D盘下的practice文件夹下,分别如图1-47和图1-48所示。

注意:Sublime Text编辑器的使用,也可以先保存文件,设置好代码文件的格式,然后输入代码。按照这样顺序操作有很大的好处,Sublime Text编辑器可以根据Python语言的特点,自动设置代码缩进、代码高亮显示、自动识别输入错误等信息。

(5)打开D盘的practice文件夹,可以看到保存的1-2.py文件,如图1-49所示。

图1-47 保存文件对话框(1)

图1-48 保存文件对话框(2)

读者可以打开Windows命令行窗口,将该窗口的工作目录切换到D盘的practice文件夹下,输入python 1-2.py,按Enter键后就可以看到该代码的运行结果了,如图1-50所示。

图1-49 保存在D盘practice文件夹下的Python文件

图1-50 代码1-2.py的运行结果

3.其他文本编辑器

除了Sublime Text编辑器,还有一些比较好用的文本编辑器。例如Notepad++软件。Notepad++是Windows操作系统下的一套文本编辑器。Notepad++除了可以用来制作一般的纯文字说明文件,也十分适合编写计算机程序代码。Notepad++不仅有语法高亮度显示功能,也有语法折叠功能,并且支持宏及扩充基本功能的外挂模组。读者可自行从网络搜索并下载该软件。

相信读者已经对使用Windows命令行方式运行Python程序有了一个初步的了解。本书主要采用文本编辑器和Windows命令行窗口结合的方式,创建、解释运行Python程序。

1.2.4 集成开发环境

有的读者喜欢使用集成开发环境,下面介绍几个Python的集成开发工具。

1.Spyder

Spyder是一款使用Python语言创建的集成开发工具。读者只需在Windows命令行窗口中输入pip install-i https://pypi.tuna.tsinghua.edu.cn/simple spyder,按Enter键,便可以安装Spyder集成开发工具,如图1-51和图1-52所示。

图1-51 安装Spyder集成开发工具

图1-52 安装Spyder集成开发工具过程

注意:pip install-i https://pypi.tuna.tsinghua.edu.cn/simple spyder表示使用了清华大学的软件镜像。读者也可以使用阿里云的软件镜像,需要在Windows命令行窗口中输入pip install-i https://mirrors.aliyun.com/pypi/simple spyder,然后按Enter键。如果读者要体会慢一点的速度来安装Spyder软件,则需要在Windows命令行窗口中输入pip install spyder,然后按Enter键。如果要卸载Spyder软件,则需要在Windows命令行窗口中输入pip uninstall spyder,然后按Enter键。

安装完成后,在Windows命令行窗口中输入spyder,然后按Enter键即可启动Spyder软件,如图1-53和图1-54所示。

第1次启动Spyder软件时会有一个英文版的简单介绍,告诉使用者如何使用该集成开发环境。

2.Geany

Geany是一款Python语言的集成开发工具。读者只需登录网站https://www.geany.org进行下载、安装。具体步骤与下载并安装Sublime Text编辑器类似。启动Geany软件后窗口如图1-55所示。

图1-53 启动Spyder集成开发工具

图1-54 Spyder集成开发工具

3.PyCharm

PyCharm是JetBrains公司开发的一款Python程序的集成开发工具。在Windows、macOS、Linux系统上都可以使用。语法高亮显示,项目管理出色,支持在Django框架下进行Web开发。社区版是免费的,专业版是付费的。对于初学者来讲,两者的差异很小,使用社区版就足够了。读者只需登录网站https://www.jetbrains.com.cn/en-us/pycharm/,进行下载、安装。具体步骤与下载并安装Sublime Text编辑器类似。

另外,微软公司的Microsoft Visual Studio集成开发环境也支持Python应用开发。不过,这是一款重量级的开发环境,要占用8GB左右的硬盘空间。基于Java的可扩展开发平台Eclipse也支持Python编程开发,不过需要安装PyDev插件。安装PyDev插件后,读者完全可以使用Eclipse进行Python应用开发。

图1-55 Geany集成开发工具

1.3 人人都会编程

编程是人与计算机进行信息交流的有效手段,人作为主体通过键盘、鼠标向计算机输入信息,计算机作为客体,接收信息、存储信息、处理信息,然后将输出信息显示在计算机屏幕上。Python的打印输出函数是print(),下面讲解Python如何接收信息、存储信息。

1.3.1 input()函数和变量

input()函数是Python的内置函数,用来接收从屏幕得到的信息。人类是有记忆力的,从视觉、听觉、触觉等感官得到的信息存储在大脑中。计算机得到从键盘输入的信息后,也需要存储信息,变量就是Python等编程语言存储信息的单位。变量是将得到的信息存储在计算机内存中的某个位置,就像图书馆的员工将某本书放置在书架上。为变量赋值,可以通过等号(=)实现,代码如下:

    #===第1章代码1-3.py===#
    print("请问您叫什么名字?")
    name=input()                   #赋值语句
    print("他的名字是:"+name)    #通过加号将两段信息拼接在一起

在Windows命令行窗口中运行这段代码,在Windows命令行窗口中随便输入一个名字,然后按Enter键,运行结果如图1-56所示。

注意:在Python中,使用“#”作为单行注释的符号。从符号“#”开始直到换行为止,“#”后面所有的内容都作为注释的内容,并被Python编译器忽视。

图1-56 代码1-3.py的运行结果

1.3.2 会说话就会编程

各位读者思考一个问题,计算机的编程语言,如C语言、Java语言、Python语言,这些都被称为语言;现实生活中的普通话、英语、德语、法语、日语也被称为语言。为什么它们都被称为语言?是不是它们之间有很大的通性?其实,一个心智正常的人,只要会说话,就会编程。编程的本质就是向别人描述一件事情。

如果能向别人描述清楚一件事情,你就会编程,只是很多人未曾意识到这一点。例如煮面条的过程:第1步,向锅中加适量水;第2步,将锅中的水烧开;第3步,向锅中加入适量面条;第4步,将锅中的水烧开。这就是一次完整的编程。例如去银行办理信用卡:第1步,到银行营业大厅挂一号码;第2步,在营业大厅等待;第3步,银行柜台叫到你的号码;第4步,到银行柜台办理信用卡。这也是一次完整的编程,所以只需一个文本编辑器、一个程序编译环境就可以编程了。千万不要被重量级的集成开发环境所迷惑,写出的编程代码本质上就是一段文本信息。

说话就是编程。假设你是一家宾馆的前台接待人员,见到男士后,会说“这位男士请走这边”;见到女士后,会说“这位女士请走这边”。由于人的潜意识,人可以判断其他人的性别,计算机就不能判断人的性别,所以可以输入信息,告诉计算机人的性别,然后执行这个流程,代码如下:

    #===第1章代码1-4.py===#
    print('您好,请问你的性别是:')
    gender=input()               #变量gender接收输入信息
    if gender=='男':            #==是比较运算符
        print('这位男士请走这边!')
    else:                         #if else是条件语句
        print('这位女士请走这边!')

运行结果如图1-57所示。

图1-57 代码1-4.py的运行结果

分析实例代码1-4,gender是一个变量,用来接收键盘输入的信息。gender=='男',是一个比较运算,如果结果是真,则输出“这位男士请这边走!”;如果结果是假,则输出“这位女士请这边走!”。if else:是流程控制结构中的条件语句。综上所述,这段代码包含了变量、运算、流程控制结构。如果要学会Python语言,就要掌握Python语言的变量、运算、流程控制结构;如果要读懂Python代码,就要读懂Python代码的变量、运算、流程控制结构。

1.4 小结

本章首先介绍了如何选择一门适合自己的编程语言,然后对比了C语言、Java语言和Python语言的特点,接下来介绍了Python语言的历史和发展,以及Python的应用领域。

其次介绍了如何搭建Python的开发环境,使用自带的IDLE和Windows命令行窗口创建Python程序,然后介绍了几款文本编辑器和集成开发环境。重点要掌握如何使用Sublime Text编辑器创建Python程序,以及如何使用Windows命令行窗口运行Python程序的方法。

最后介绍了编程的本质,就是向别人描述清楚一件事情,并以Python程序为例,讲解了编程的过程。另外介绍了Python的内置函数print()和input()。