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 用下划线作为变量前缀和后缀指定特殊变量。

    测试
  • 相关阅读:
    ZOJ 3818 Pretty Poem
    HDU 4597 Play Game
    HDU 4497 GCD and LCM
    CSU 1335 高桥和低桥
    UVA 10791 Minimum Sum LCM
    CSU 1119 Collecting Coins
    CSU 1120 病毒
    UVA 12169 Disgruntled Judge
    HDU 1301 Jungle Roads
    POJ 1258 Agri-Net
  • 原文地址:https://www.cnblogs.com/package/p/15315500.html
Copyright © 2011-2022 走看看