zoukankan      html  css  js  c++  java
  • python编码安全规范

    python编码安全规范

    学习完本篇,你将会有一套自己的编码规范

    Python命名规范

    • 简单描述:
    1. 普通变量命名:
      小写字母,字母之间用_分割
      如:定义一个临时变量,用来存储时间年this_a_year
    2. 全局变量名(类变量,在java中相当于static变量):
      大写字母,单词之间用_分割
      NUMBER
      COLOR_WRITE
    3. 类成员变量
      以_开头(2个下划线),其他的图通变量一样
      如:定义一个价格的变量_prince,
      定义一个距离的变量_instance_var
    4. 私有实例变量(外部访问会报错)
      以__开头(2个下划线),其他和普通变量一样
      __private_var
    5. 类名:
      单词首字母大写
      ConfigUnit
    6. 包名:
      小写字母,单词之间用_分割
      ad_stats
    7. 模块名:
      小写字母,单词之间用_分割
      ad_stats.py
    • 注意细节
    1. 文件名
      全小写,可使用下划线

    2. 应该是简短的、小写的名字。如果下划线可以改善可读性可以加入。如mypackage。
    3. 函数&方法
      函数名应该为小写,可以用下划线风格单词以增加可读性。如:myfunction,my_example_function。
      注意:混合大小写仅被允许用于这种风格已经占据优势的时候,以便保持向后兼容。
    4. 函数和方法的参数
      总使用“self”作为实例方法的第一个参数。总使用“cls”作为类方法的第一个参数。
      如果一个函数的参数名称和保留的关键字冲突,通常使用一个后缀下划线好于使用缩写或奇怪的拼写。
    5. 全局变量
      对于from M import *导入语句,如果想阻止导入模块内的全局变量可以使用旧有的规范,在全局变量上加一个前导的下划线。
      注意:应避免使用全局变量
    6. 变量
      变量名全部小写,由下划线连接各个单词。如color_WHITE,this_is_a_variable = 1

    注意
    1.不论是类成员变量还是全局变量,均不使用 m 或 g 前缀。
    2.私有类成员使用单一下划线前缀标识,多定义公开成员,少定义私有成员。
    3.变量名不应带有类型信息,因为Python是动态类型语言。如 iValue、names_list、dict_obj 等都是不好的命名。

    1. 常量
      常量名所有字母大写,由下划线连接各个单词如MAX_OVERFLOW,TOTAL。

    2. 异常
      以“Error”作为后缀。

    3. 缩写
      命名应当尽量使用全拼写的单词,缩写的情况有如下两种:

    4. 常用的缩写,如XML、ID等,在命名时也应只大写首字母,如XmlParser。

    5. 命名中含有长单词,对某个单词进行缩写。这时应使用约定成俗的缩写方式。
      例如:
      function 缩写为 fn
      text 缩写为 txt
      object 缩写为 obj
      count 缩写为 cnt
      number 缩写为 num,等。

    6. 前导后缀下划线
      一个前导下划线:表示非公有。
      一个后缀下划线:避免关键字冲突。
      两个前导下划线:当命名一个类属性引起名称冲突时使用。
      两个前导和后缀下划线:“魔”(有特殊用途)对象或者属性,例如__init__或者__file__。绝对不要创造这样的名字,而只是使用它们。
      注意:关于下划线的使用存在一些争议。
      Python 用下划线作为变量前缀和后缀指定特殊变量。

    测试
  • 相关阅读:
    量化投资:第3节 滑点策略与交易手续费
    量化投资:第2节 择时策略的优化
    量化投资: 第1节 择时策略的开发
    一步一步,完成sparkMLlib对日志文件的处理(1)
    JAVA接口与抽象类区别
    HDU1877 又一版 A+B
    HDU4548 美素数
    超级楼梯 HDU2041
    HDU2013 蟠桃记【递推】
    HDU1262 寻找素数对
  • 原文地址:https://www.cnblogs.com/package/p/15315500.html
Copyright © 2011-2022 走看看