《Python语言程序设计》 —1 初识Python
第1章 初识Python
Python具有简单易学、免费开源、跨平台、高层语言、面向对象、丰富的库、胶水语言等优点,已在系统编程、图形界面开发、科学计算、文本处理、数据库编程、网络编程、Web开发、自动化运维、金融分析、多媒体应用、游戏开发、人工智能、网络爬虫等方面有着非常广泛的应用。
本章首先给出了程序设计和Python语言的简单介绍,包括编译型语言和解释型语言的区别、Python发展史及其特点和应用领域。然后,以Windows和Linux平台为例介绍了Python 3.7.0的安装步骤。接着,通过一个简单的HelloWorld程序使读者对Python程序的运行方式、注释方法、编写规范和标准输入/输出方法有初步认识。最后,介绍了Python自带的IDLE开发环境的使用方法。
1.1 Python的基本概念
每台计算机都有自己的指令(instruction)集合,每条指令可以让计算机完成一个最基本的操作。程序(program)则是由一系列指令根据特定规则组合而成,在计算机上执行程序的过程实质上就是组成程序的各条指令按顺序依次执行的过程。
从根本上说,计算机是由数字电路组成的运算机器,只能对数字做运算(包括算术运算和逻辑运算)。程序之所以能处理声音、文本、图像、视频等数据,是因为它们在计算机内部也是用数字表示的。这些数字经过专门的硬件设备转换成人们可以获取的声音、文本、图像和视频。
对于程序来说,其功能通常可以抽象为图1-1所示形式,包括输入(input)数据、输出(output)数据和数据处理(data processing)。
输入数据:从键盘、文件或者其他设备获取待处理数据。
输出数据:把处理后的结果数据输出到屏幕、文件或其他设备。
数据处理:对输入数据进行各种运算,得到输出结果。
图1-1 程序功能
1.1.1 编译型语言与解释型语言
程序设计语言可以分为高级程序设计语言和低级程序设计语言。高级程序设计语言包括Python、C/C++、Java等,低级程序设计语言包括汇编语言和机器语言。假设有这样一个功能:将b与1的加法运算结果赋给a,表1-1所示分别为Python语言、汇编语言和机器语言对该功能的不同实现方式。
通过表1-1可以看到,在编写程序的难易程度上,机器语言最困难,需要记住大量二进制命令;其次是汇编语言,可以用一些助记符代替二进制命令,但仍然需要逐条编写指令;Python语言最容易,可通过我们习惯的方式来实现相应运算。另外,由于不同系统所使用的指令集会有所不同,所以使用一个系统上的指令集编写的低级语言程序在另一个具有不同指令集的系统上无法正常运行,即用低级语言编写的程序不具有跨平台性。高级程序设计语言由于具有简单易用、跨平台性强等优点,目前已被广泛使用。
提示 在计算机中,任何数据都是采用二进制方式进行表示和存储,即计算机中的数据都是由0和1组成的。位(bit)是计算机中最小的数据单位,一个二进制位就是一个位,简记为b。字节(Byte)是计算机中存储数据的最小单位,一个字节包含8个二进制位,简记为B。除了字节外,还有更大的数据单位,如KB、MB、GB、TB、PB等,低一级单位到高一级单位的换算关系是210(等于1024),即
1KB=210B,1MB=210KB,1GB=210MB,1TB=210GB,1PB=210TB
通常要用很长的二进制数才能表示一个数据,为了书写简便,实际运用中可以使用二进制的压缩表示形式—十六进制,例如,表1-1中机器语言第一条语句中的a1就是一个十六进制数,其对应的二进制数是10100001。关于计算机中的常用数制及各数制之间的转换方法,读者可参阅其他资料。
使用高级程序设计语言编写程序,虽然简化了我们的程序编写工作,但这些程序对于计算机来说则无法理解。因此,对于用高级程序设计语言编写的程序,必须将其先翻译为计算机能够理解的机器语言程序,才能够在计算机上运行。把高级语言翻译为机器语言的方式有两种:一种是编译,一种是解释。下面分别介绍。
1. 编译
用高级语言编写的程序称为源代码(source code)或源文件。编译(compile)是将源代码全部翻译成机器指令,再加上一些描述信息,生成一个新的文件。这个新的文件称为可执行文件,可以直接在特定操作系统上加载运行。可执行文件可以在计算机上多次运行,因此,在不修改源代码的情况下,只需要做一次编译即可。编译型语言的编译执行过程如图1-2所示。
图1-2 编译型语言的编译执行过程
2. 解释
解释(interpret)是在程序运行时才对源代码进行逐条语句的翻译并运行。解释型语言编写的程序每执行一次,就要翻译一次,翻译结果不会像编译型语言一样保存在可执行文件中,因此效率较低。解释型语言的解释执行过程如图1-3所示。
图1-3 解释型语言的解释执行过程
提示 Python是一种解释型语言,但为了提高运行效率,Python程序在执行一次之后会自动生成扩展名为.pyc的字节码文件(主程序文件不会生成字节码文件,只有调用的模块文件才会生成字节码文件)。下次再运行同一个Python程序时,只要源代码没有做过修改,Python就会直接将字节码文件翻译成机器语言再执行。
字节码不同于机器语言,但很容易转换为机器语言,所以通常直接翻译字节码,而不是去翻译源代码,这会大大提高Python程序的运行效率。
- 点赞
- 收藏
- 关注作者
评论(0)