前两天我们准备好了安装环境这些,那么今天我们要来认知一下,一个完整的Python程序到底要具备哪些东西,
编写一个Python程序很简单,你只需要在电脑上新建一个后缀为.py的文件,然后在这个文件中编写指令或者定义和调用函数,然后便可用Python解释器来执行这个文件。这些指令构成了Python程序的逻辑,也决定了该程序的功能,因此,在这一章中,我们有必要来了解一下一个完整的Python程序。
本文将通过以下2个方面来展开:
Python程序的构成
Python程序的执行过程
Python程序的构成
以下代码来自文件digwebs.py,是digwebs中的某个脚本文件。
#!/usr/bin/env python__author__ ='SLZ''''
digwebs framework demo.
'''importlogginglogging.basicConfig(level=logging.INFO)fromwww.webimportdigwebs_appif__name__ =='__main__': digwebs_app.run(9999, host='0.0.0.0')else: wsgi_app = digwebs_app.get_wsgi_application()
以上代码片段包含了一些常用的知识点:
#!/usr/bin/env python指定了运行该脚本的程序是Python
__author__ = 'SLZ'用于标记该文件的作者是SLZ
2个'''之间的内容代表注释,注释的作用是写给人看的,因此Python解释器会忽略注释中的内容
import关键字用于导入外部模块,这些模块很有可能是Python环境自带的,也有可能是其他组织编写的
logging.basicConfig(level=logging.INFO)设置日志的级别,日志的作用是输出程序执行过程中产生的信息,这些信息有助于研发人员分析,诊断以及定位程序发生的问题。
if和else指令用于控制程序执行的路径
由以上信息可以推断出,几乎所有Python程序都会包含多个.py文件,这些文件之间通过import来相互调用,你可以通过digwebs来确认这一点。每一个.py文件中均会使用Python的一些能力,比如定义一个类或函数,使用循环控制语句或者条件控制语句等等。正是这些文件和它们之间的调用关系构成了一个完整的Python程序。接下来,让我们看看这个完整的程序是如何工作的。
Python程序的执行过程
Python程序的执行过程有点类似于人类阅读文章的过程,人类的阅读习惯是从上到下,每读到一句话,就会理解这句话的内容。Python程序的执行过程也类似,解释器也会从上到下从输入的.py文件中读取和执行每一句指令,如果需要使用其它.py文件的功能,那么解释器会跳转到相关的指令处,然后接着从上到下依次读取和执行其它.py文件中的指令,直到把输入.py文件中的所有指令执行完才会退出。
让我们根据之前出现的代码片段来分析整个执行过程,首先,在Terminal中输入这句指令python digwebs.py,并回车。
Python解释器会读取digwebs.py中的指令,然后从上到下依次执行每一句指令,它先执行以下指令
__author__='SLZ'
接着再执行以下指令来导入内置的日志库(也就是说digwebs.py依赖于logging库)
importlogging
接着执行以下命令来设置日志的级别
logging.basicConfig(level=logging.INFO)
接着执行以下命令来导入其它模块(该模块由另外一个.py文件来定义)
fromwww.webimportdigwebs_app
接着执行以下命令来执行外部模块
if__name__ =='__main__': digwebs_app.run(9999, host='0.0.0.0')else: wsgi_app = digwebs_app.get_wsgi_application()
如果digwebs_app.run(9999, host='0.0.0.0')运行结束,那么解释器会继续往下执行,此时,没有其它指令,因此整个Python程序会结束运行。
总结
本文主要介绍了一个完整的Python程序和它的执行过程。一个Python程序均会有多个.py文件,每一个文件均会提供职责单一的功能,它们之间通过import来引用,并最终构成一个复杂的程序,而复杂程序的背后实际上是由基础的Python能力来构建的。接下来,让我们以Python的基础运算符开始,学习这些能力。