home1.gif

一. 文件结构


参考:https://blog.csdn.net/humanking7/article/details/45286937

先看 .py 文件结构样例:
image.png
说明:

  1. 起始行

指定使用的Python的版本,编码:

  1. #/usr/bin/env python
  2. # -*- coding: UTF-8 -*-
  1. 模块文档

模块文档,即文档字符串,如果跨行用三个双引号扩起来

  1. 模块导入

    1. import sys
    2. from selenium import webdriver
  2. (全局)变量定义

  3. 类定义(若有)
  4. 函数定义(若有)
  5. 主程序

无论当前模块是被其它模块导入还是作为脚本直接运行,都会执行这部分代码。

  • 注意: 所有的模块都有能力执行代码
  • 最高级别的Python语句(没有缩进的)在模块被导入时就会执行,无论是否真的需要执行
  • 妥当的做法:除了那些真正需要执行的代码以外,所有的功能代码都通过函数建立,因此:
    • 仅在主程序模块中编写大量的顶级可执行代码
    • 用于被导入的模块只应该存在较少的顶级执行代码
  • **__name__** 指示模块应该如何被加载 ( 这样能够做到模块的 自检 )
    • 如果模块是被导入的__name__ 的值是 模块的名字
    • 如果模块是直接执行__name__ 的值是 **__main__**

1. 文档字符串 docstring (PEP 257 规范)


一个文档说明是一个字符串,它出现在一个模块,函数,类或方法的定义的第一个语句。这样的文档说明即为该对象的doc特殊属性。

  1. 所有模块,类,函数,方法都应该包含文档,包括类的init方法(类的函数称为方法(method),模块里的函数称为函数(function))
  2. 包的文档写在init.py文件中
  3. 为了满足一致性,常用3个双引号”””quotes”””来包裹文档说明。如果你在文档说明里使用了反斜杠\,使用r”””quotes””””来包裹。对于那些使用了Unicode文档说明的,使用u””””quotes”””来包裹。
  4. 文档有单行文档和多行文档

    单行文档:

    1. 不要重复函数的声明语句,例如:function(a, b) → list
    2. 指明做什么和返回什么,例如Do X and return a list.
    3. 使用三引号,方便换行

    多行文档:

    1. 如果模块是一个脚本,也就是单文件程序,模块的文档应该写明脚本的使用方法
    2. 模块的文档需要写明包含的类,异常,函数
    3. 如果是包,在init.py中,写明包里面包含的模块,子包
    4. 如果是函数或类方法,应该写明函数或方法的作用,参数,返回,副作用,异常和调用的限制等
    5. 如果是类,写明类的行为,和实例参数,构造方法写在init

end1.gif