Python 文件结构与执行入口详解
1. Python 文件结构
通常,一个 Python 代码文件由以下 8 个主要部分组成:解释器版本声明(仅 Unix 环境)、文件编码格式声明、文档字符串、模块导入语句、全局变量定义、类定义、函数定义、执行代码。一个标准的模板代码如下:
#!/usr/bin/env python3 # [1] 解释器版本声明
# -*- coding:utf-8 -*- # [2] 文件编码格式声明
""" [3] 文档字符串 """
import os # [4] 模块导入语句
DEBUG = True # [5] 全局变量定义
class MyClass(object): # [6] 类定义
""" [3] 文档字符串 """
pass
def my_func(): # [7] 函数定义
""" [3] 文档字符串 """
pass
if __name__ == '__main__': # [8] 执行代码
my_func()
1.1 解释器版本声明 (Shebang)
如果你学过 Linux 的 Shell 编程,这部分很容易理解。解释器声明又称为 Shebang 注释,它的标志是 #!。
Shebang 必须出现在脚本文件的第一行,后面用空白字符接解释器绝对路径,用于指明执行这个脚本的解释器,还可以带上参数。例如:
#!/bin/sh # 表示使用 sh 执行脚本
#!/usr/bin/perl -w # 表示使用带警告的 perl 执行脚本
#!/usr/bin/php # 表示使用 php 的命令解释器执行脚本
Python 的 Shebang 声明如下:
| 声明方式 | 说明 |
|---|---|
#!/usr/bin/python3 | 指定具体路径 |
#!/usr/bin/env python3 | 推荐方式,查找环境变量中的 python3 |
Shebang 的好处在于允许脚本和数据文件充当系统命令,无须在调用的时候由用户指定解释器,从而对用户或者其他程序隐藏了其执行的细节。但是 Shebang 只能在类 Unix 系统(如 Linux, MacOS 等)中起作用,Windows 系统会忽略此注释。


