zoukankan      html  css  js  c++  java
  • PEP8规范概览

    PEP8规范

    变量

    # 常量:大写加下划线
    USER_CONSTANT = "a constant"
    
    
    # 私有变量 : 小写和一个前导下划线
    """
      Python 中不存在私有变量一说,若是遇到需要保护的变量,使用小写和一个前导下划线。但这只是
      程序员之间的一个约定,用于警告说明这是一个私有变量,外部类不要去访问它。但实际上,外部类还
      是可以访问到这个变量。
      """
    _private_value = "my private value" 
    
    
    # 内置变量 : 小写,两个前导下划线和两个后置下划线
    """
      两个前导下划线会导致变量在解释期间被更名。这是为了避免内置变量和其他变量产生冲突。用户
      定义的变量要严格避免这种风格。以免导致混乱
      """
    __class__ = "inner value"
    

    函数和方法

    总体而言应该使用,小写和下划线。但有些比较老的库使用的是混合大小写,即首单词小写,之后每个单词第一个字母大写,其余小写。但现在,小写和下划线已成为规范

    私有方法 :小写和一个前导下划线
    这里和私有变量一样,并不是真正的私有访问权限。同时也应该注意一般函数不要使用两个前导下划线(当遇到两个前导下划线时,Python 的名称改编特性将发挥作用)。

    特殊方法 :小写和两个前导下划线,两个后置下划线
    这种风格只应用于特殊函数,比如操作符重载等。
    函数参数 : 小写和下划线,缺省值等号两边无空格

    def my_function(para_one, para_two):
        pass
    
    class MyTest(object):
        __instance = None  # 私有类属性
        
        def _private_method(self):  # 私有方法
            pass
        
        def __new__(self):  # 特殊方法
            pass
    

    类总是使用驼峰格式命名,即所有单词首字母大写其余字母小写。类名应该简明,精确,并足以从中理解类所完成的工作。常见的一个方法是使用表示其类型或者特性的后缀,例如:

    SQLEngineMimeTypes 对于基类而言,可以使用一个 Base 或者 Abstract 前缀 BaseCookieAbstractGroup


    模块和包

    除特殊模块__init__之外,模块名称都使用不带下划线的小写字母。
    若是它们实现一个协议,那么通常使用 lib 为后缀,例如:

    import smtplib
    import os
    import sys
    

    关于参数

    1. 不要用断言来实现静态类型检测。断言可以用于检查参数,但不应仅仅是进行静态类型检测。Python 是动态类型语言,静态类型检测违背了其设计思想。断言应该用于避免函数不被毫无意义的调用。
    2. 不要滥用 *args **kwargs*args **kwargs 参数可能会破坏函数的健壮性。它们使签名变得模糊,而且代码常常开始在不应该的地方构建小的参数解析器。

    其它

    #  使用 has 或 is 前缀命名布尔元素
    is_connect = True
    has_member = False
    
    # 用复数形式命名序列
    members = ['user_1', 'user_2']
    
    # 用显式名称命名字典
    person_address = {'user_1': '10 road WD', 'user_2': '20 street huafu'}
    
    # 避免通用名称
    诸如 list, dict, sequence 或者 element 这样的名称应该避免
    
    # 避免现有名称
    诸如 os, sys 这种系统已经存在的名称应该避免
    

    一些数字

    一行列数 : PEP 8 规定为 79 列。根据自己的情况,比如不要超过满屏时编辑器的显示数。
    一个函数 : 不要超过 30 行代码, 即可显示在一个屏幕类,可以不使用垂直游标即可看到整函数。
    一个类 : 不要超过 200 行代码,不要有超过 10 个方法。一个模块 不要超过 500 行。


    验证脚本

    可以安装一个 pep8 脚本用于验证你的代码风格是否符合 PEP8

  • 相关阅读:
    虚函数和纯虚函数
    MS CRM 2011中PartyList类型字段的实例化
    MS CRM 2011的自定义与开发(12)——表单脚本扩展开发(4)
    MS CRM 2011的自定义与开发(12)——表单脚本扩展开发(2)
    MS CRM 2011的自定义和开发(10)——CRM web服务介绍(第二部分)——IOrganizationService(二)
    MS CRM 2011 SDK 5.08已经发布
    MS CRM 2011 Q2的一些更新
    最近很忙
    Microsoft Dynamics CRM 2011最近的一些更新
    补一篇,Update Rollup 12 终于发布了
  • 原文地址:https://www.cnblogs.com/pankypan/p/11072311.html
Copyright © 2011-2022 走看看