1.1 Python语言及其编程环境
在进入具体的语言学习之前,有必要介绍一下Python语言的基本情况和特点、软件的下载和安装、软件编程环境等。当准备工作做好以后,结合几个简单且具有代表性的实例建立起对Python编程的感性认识。
1.1.1 Python语言及其特点
Python语言诞生于20世纪90年代,是免费的开源软件,被广泛应用于系统运维和网络编程。作为“胶水语言”,Python被越来越多的主流行业软件用作脚本语言。由于具有简洁、易读和可扩展等特点,它还被广泛应用于科学计算,特别是机器学习、深度学习、计算机视觉等AI领域。
Python是解释型语言,一边编译一边执行。它的主要特点包括:
• 简单、高效。Python是一门高级语言,相对于C、C++等语言,它隐藏了很多抽象概念和底层技术细节,简单、易学。使用Python编程,虽然性能没有C等语言高,但可以大大提高开发效率。
• 有大量现成的库(包)。Python有很多内置的库和第三方库,每个库都在某一行业或方向上提供功能。利用它们,用户可以站在前人的肩膀上,将主要精力放在自己的事情上,做到事半功倍。
• 可扩展。可以使用C或C++等语言为Python开发扩展模块。
• 可移植。Python支持跨平台,可以在不同的平台上运行。
此外,Python还支持面向对象编程,通过抽象、封装、重用等提高编程效率。
1.1.2 下载和安装Python
在使用Python语言编程之前,需要先下载和安装Python软件。访问Python官网,在“Downloads”菜单中单击“Windows”选项,打开Windows版本的软件下载页面,如图1-1所示。
图1-1 从Python官网下载软件
从图1-1中可以看到有最新版本和历史版本的软件下载链接。根据你的计算机上的操作系统是32位的还是64位的,选择下载对应版本的Python软件。
双击下载的Python可执行文件,打开如图1-2所示的安装界面。本书使用的是Python 3.7.7版本。
图1-2 安装Python 3.7.7
勾选“Add Python 3.7 to PATH”复选框,单击“Install Now”选项,按照提示一步一步进行安装即可。
1.1.3 Python语言的编程环境
Python软件安装好以后,在Windows左下角的“开始”菜单中单击“Python 3.7”下的“IDLE”选项,打开“Python 3.7.7 Shell”窗口,如图1-3所示。
图1-3 “Python 3.7.7 Shell”窗口
在该窗口中,第1行显示软件和系统的信息,包括Python版本号、开始运行的时间、系统信息等。第2行提示在提示符“>>>”后面,输入help等关键字可以获取帮助、版权等更多信息。
第3行显示提示符“>>>”。可以在提示符后面输入Python语句,完成后按回车键,又会显示一个提示符,可以继续输入语句。这种编程方式被称为命令行模式的编程,它是逐行输入和执行的。在本书后面各章节中,凡是Python语句前面有“>>>”提示符的,就是命令行模式的编程,是在“Python 3.7.7 Shell”窗口中进行的。参见下面的“示例1”。
在“Python 3.7.7 Shell”窗口中,单击“File”菜单中的“New File”选项,打开如图1-4所示的窗口。在该窗口中连续输入语句或函数,保存为py文件。单击“Run”菜单中的“Run Module”选项,可以一次执行多行语句。这种方式被称为脚本文件的编程。在本书后面各章节中,为了对脚本文件中的各行语句进行解释说明,会为每行语句添加行号并显示在语句前面,行号与语句之间用Tab键分隔。所以,如果后续各章节中的代码前面有编号,就说明是按脚本文件的形式编程的。参见下面的“示例2”。
图1-4 编写脚本文件
IDLE是Python官方提供的编程环境。除了IDLE,还有一些比较高级的编程环境,如PyCharm、Anaconda、Visual Studio等,如果大家有兴趣可以找相关的资料来看,这里不展开介绍了。本书内容结合IDLE进行介绍。
示例1:命令行模式的编程
本例使用简单的相加和累加运算演示命令行模式的编程。在“Python 3.7.7 Shell”窗口中,在提示符后面输入下面的语句,计算两个数的和。
在这里,a和b被称为变量,它们分别引用对象1和2。a=1被称为赋值表达式,使用赋值运算符“=”连接变量和数字对象,表示将数字1赋给变量a。a+b被称为算术运算表达式,用算术运算符“+”连接变量a和b,该表达式返回两个变量相加得到的和。
下面介绍一个连续累加的例子,将0~4的整数进行连续累加。这里用到一个for循环,使用range函数获取0~4范围内的整数,for循环在这个范围内逐个取数字,并累加到变量s。变量i被称为迭代变量,每循环一次,它就取范围内的下一个值,取到以后与s目前的值相加。s+=i是相加赋值表达式,表示将s与i的和赋给s,其等价于s=s+i。最后输出s的值,即0~4的累加和。
注意:for语句下面的循环体要内缩4个空格。
示例2:编写和运行脚本式文件
在“Python 3.7.7 Shell”窗口中,单击“File”菜单中的“New File”选项,打开脚本文件窗口,在其中输入下面的语句,进行相加和累加运算。注意,为了对各行语句进行说明,在每行语句前面都添加了行号,行号与语句之间用Tab键分隔。该文件位于Samples目录下的ch01子目录中,文件名为sam01-0-01.py。
第1~3行进行相加运算,计算1和2的和,使用print函数输出结果。
第5~8行使用for循环对0~4的整数进行累加,使用print函数输出累加和。
在Python IDLE文件脚本窗口中,在“Run”菜单中单击“Run Module”选项,则IDLE命令行窗口显示下面的结果:
这种运行方式将“示例1”中的逐步输入和运行变为全部输入后一次运行,这种文件被称为脚本式py文件,它相当于宏,即定义连续的动作序列,一次运行。
示例3:编写和运行函数式文件
现在对“示例2”中的脚本进行改写,将相加和累加的操作改写成函数,然后调用函数,将要相加的数或累加上限数作为参数传入,得到最后的结果并输出。该文件位于Samples目录下的ch01子目录中,文件名为sam01-0-02.py。关于什么是函数,以及实现函数的各种细节,将会在后续章节中进行详细介绍。在这里,大家只需要有一个感性认识,知道有这么一个实现方法,知道它有什么好处就可以了。
第1行和第2行定义MySum函数实现相加运算,它给定形式参数a和b,使用return语句返回a和b的和。
第4~8行定义MySum2函数实现累加运算,它给定形式参数c,使用for循环计算0到c的累加和并返回它。
第10~12行连续调用MySum函数对给定的两个数进行相加运算,输出它们的和。所以,在定义函数以后,需要用到它的功能时可以反复调用,只要将参与运算的数作为参数传入即可,提高了代码的可重用性,使代码更简洁。
第13行和第14行调用MySum2函数计算0~4和0~10的累加和并输出。
在Python IDLE文件脚本窗口中,在“Run”菜单中单击“Run Module”选项,则IDLE命令行窗口显示下面的结果: