编码规范

Python 编码规范

Linux 平台上 , 一个python源码文件应该以下部分组成 .
Windows 平台上 , 可以省略第一项
例:
    1. 解释器声明 ;
    2. 编码格式声明 ;
    3. 模块注释或文档字符串 ;
    4. 模块导入 ;
    5. 常量和全局变量声明 ;
    6. 顶级定义 ;
    7. 执行代码 .
编码格式声明 :
通常,编码格式声明是必需的 . 如果 Python 源码文件没有声明编码格式,python 解释器会默认使用 ASCII .
一旦源码文件包含非 ASCII 编码的字符, python 解释器就会报错. 以 UTF-8 为例 ,以下两种都是合乎规则的 . 
例 :
    # -*- coding:utf8 -*-
    # coding = utf-8

Windows 平台上, 编码格式声明必须位于 python 文件的第一行 .
Linux 平台上 , 编码格式声明通常位于 python 文件的第二行 , 第一行是python 解释器的路径声明.
例:
# !/user/bin/env python
# -*- coding: utf-8

缩进 :
统一使用 4 个 空格进行缩进. 绝对不要用 tab , 也不要 tab 和 空格混用. 对于行连接的情况 ,
一般用4空格的悬挂式缩进 .
例:
    var_dict = {
            "name": "xufive",
            "mail": "xufive@sdysit.com"
    }
引号 :
* 自然语言使用双引号
* 机器标识使用单引号
* 正则表达式使用双引号
* 文档字符串 ( docstring ) 使用三个双引号 
注释 :
# 后空一格 , 段落间用空行分开 ( 同样需要 # ) ;
    例 :
        # 块注释
        # 块注释
        #
        # 块注释
        
行内注释 , 至少使用两个空格和语句分开 ;
比较重要的注释段 ,使用多个等号隔开 , 可以更加醒目, 突出重要性 ;
例 :
    server = gogame( room , options)
    
    # ==================================
    #  请勿在此处倾倒垃圾 !!! 
    # ==================================    
    
    if _name__ == '__main__':
        server.run()
空行
* 在二元运算符两边隔空一格 , 算术操作符两边的空格可灵活使用 ,但两侧务必保持一致 ;
* 不要在逗号 , 分号 , 冒号前面加空格 , 但应该在他们后面加 ( 除非在行尾 ) ;
* 函数的参数列表中 , 逗号之后要有空格 ;
* 函数的参数列表中 , 默认值等号两边不要添加空格 ;
* 左括号之后 , 右括号之前不要添加空格 ;
* 参数列表 , 索引或切片的左括号前不应该加空格 .
文档字符串
文档字符串是包 . 模块 , 类或函数里的第一个语句 . 这些字符串可以通过对象的 __doc__ 成员
被自动提取 , 并且被 pydoc 所用.
文档字符串的使用三重双引号 ( """ ) . 
如果文档字符串内容不能在一行内写完 , 首行须以句号 ,问号或惊叹号结尾 ,接一空行,结束的三重双引号必须独占一行 .
导入模块
导入总应该放在文件顶部 , 位于模块注释和文档字符串之后 , 模块全局变量和常量之前 .
导入应该按照从最通用到最不通用的顺序分组, 分组之间空一行 ;
    1. 标准库导入
    2. 第三方库导入 
    3. 应用程序指定导入 
避免如下 :
    from math import *
命名规范
* 模块尽量使用小写命名,首字母保持小写, 尽量不要用下划线 ;
* 类名用驼峰 ( CamelCase ) 命名风格 , 首字母大写 , 私有类可用一个下划线开头 ;
* 函数名一律小写 , 如有多个单词 , 用下划线隔开 ;
* 私有函数可用一个下划线开头 ;
* 变量名尽量小写 , 如有多个单词 , 用下划线隔开 ;
* 常量采用全大写 , 如有多个单词 , 使用下划线隔开 .
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值