Python源文件的结构

Python源文件的结构
首行:指定解释器
  在Linux系统的脚本中,可以在首行中#!之后指定解释器。最常见的解释器是/usr/bin/bash,其它的解释器包括/usr/bin/sh、/usr/bin/perl、/usr/bin/ruby、/bin/python等等。
  在shell脚本中,首行通常是:
  #!/usr/bin/bash
  echo "hello!"
  以上shell脚本指定/usr/bin/bash为脚本的解释器。
  在Python脚本中,首行通常是:
  #!/usr/bin/python
  print("hello!")
  以上Python脚本指定/usr/bin/python为脚本的解释器。
  以上指定脚本解释器的方法有一个缺点:兼容性不好。同一个脚本解释器可能被安装在不同的目录中,例如python可以安装在/usr/bin/下,也可以安装在/usr/local/bin/下。在首行通过绝对路径指定解释器的脚本,在某些Linux系统中,会因为指定路径下没有对应的解释器进而执行失败。为了解决这个问题,可以在首行通过env的方式指定解释器。例如:
  #!/usr/bin/env bash
  #!/usr/bin/env perl
  #!/usr/bin/env python
指定编码格式
  可以通过coding来指定Python脚本本身的编码格式。
  最常见的是:
  # -*- coding: utf8 -*-
  以下的其它格式也是可以的:
  #coding=utf8
  #encoding:utf8
  #encoding=utf8
文档字符串
  接下来是通过三单引号或者三双引号表示的关于此脚本的注释,也称为文档字符串。
  '''Document first line.
  Document second line.
  Document third line.'''
模块导入
  通过import语句导入需要的模块。
  例如:
  import datetime
  import re
定义全局变量
  定义所需的全局变量。
  例如:
  name = 'Lucy'
  log_level = 'DEBUG'
定义类
  定义类。
  例如:
  class MyFirstClass(object):
    类的内容
定义函数
  定义函数。
  例如:
  def MyFirstFunction:
    函数的内容
定义主程序
  通过__name__来判断此脚本是作为脚本执行,还是作为模块被导入。
  if __name__ == '__main__':
    print('Enter __main__.')
    主程序的内容
完整的源文件
  以下是源文件first.py的内容:
  #!/usr/bin/env python
  # -*- coding: utf8 -*-

  '''Document first line.
  Document second line.
  Document third line.'''

  import datetime
  import re

  name = 'Lucy'
  log_level = 'DEBUG'

  class MyFirstClass(object):
    pass # 类的内容

  def MyFirstFunction:
    pass # 函数的内容

  if __name__ == '__main__':
    print('Enter __main__.')
    pass # 主程序的内容