一. 文件结构
参考:https://blog.csdn.net/humanking7/article/details/45286937
先看 .py 文件结构样例:
说明:
- 起始行
指定使用的Python的版本,编码:
#/usr/bin/env python
# -*- coding: UTF-8 -*-
- 模块文档
模块文档,即文档字符串,如果跨行用三个双引号扩起来
模块导入
import sys
from selenium import webdriver
(全局)变量定义
- 类定义(若有)
- 函数定义(若有)
- 主程序
无论当前模块是被其它模块导入还是作为脚本直接运行,都会执行这部分代码。
- 注意: 所有的模块都有能力执行代码
- 最高级别的Python语句(没有缩进的)在模块被导入时就会执行,无论是否真的需要执行
- 妥当的做法:除了那些真正需要执行的代码以外,所有的功能代码都通过函数建立,因此:
- 仅在主程序模块中编写大量的顶级可执行代码
- 用于被导入的模块只应该存在较少的顶级执行代码
**__name__**
指示模块应该如何被加载 ( 这样能够做到模块的 自检 )- 如果模块是被导入的,
__name__
的值是 模块的名字 - 如果模块是直接执行,
__name__
的值是**__main__**
- 如果模块是被导入的,
1. 文档字符串 docstring (PEP 257 规范)
一个文档说明是一个字符串,它出现在一个模块,函数,类或方法的定义的第一个语句。这样的文档说明即为该对象的doc特殊属性。
- 所有模块,类,函数,方法都应该包含文档,包括类的init方法(类的函数称为方法(method),模块里的函数称为函数(function))
- 包的文档写在init.py文件中
- 为了满足一致性,常用3个双引号”””quotes”””来包裹文档说明。如果你在文档说明里使用了反斜杠\,使用r”””quotes””””来包裹。对于那些使用了Unicode文档说明的,使用u””””quotes”””来包裹。
- 文档有单行文档和多行文档
单行文档:
- 不要重复函数的声明语句,例如:function(a, b) → list
- 指明做什么和返回什么,例如Do X and return a list.
- 使用三引号,方便换行
多行文档:
- 如果模块是一个脚本,也就是单文件程序,模块的文档应该写明脚本的使用方法
- 模块的文档需要写明包含的类,异常,函数
- 如果是包,在init.py中,写明包里面包含的模块,子包
- 如果是函数或类方法,应该写明函数或方法的作用,参数,返回,副作用,异常和调用的限制等
- 如果是类,写明类的行为,和实例参数,构造方法写在init中