python-变量命名规范

来源:互联网 发布:知乎跳转淘宝链接 编辑:程序博客网 时间:2024/05/21 05:58
块名、包名: 
小写字母,单词之间用_分割 
ad_stats.py 

类名: 
(每个)单词首字母都要大写 
AdStats 
ConfigUtil 

全局变量名: 
大写字母,单词之间用_分割 
NUMBER 
COLOR_WRITE 

普通变量: 
小写字母,单词之间用_分割 
this_is_a_var 

常量 

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


普通函数: 

和普通变量一样: 
get_name() 

count_number() 

ad_stat() 

 

异常 
以“Error”作为后缀。


*注意*: 

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

4.关于下划线:

(1.以单下划线开头,是弱内部使用标识,from M import * 时,将不会导入该对象。

(2.以双下划线开头的变量名,主要用于类内部标识类私有,不能直接访问。

(3.双下划线开头且双下划线截尾的命名方法尽量不要用。

  即:

   1. object # public
   2. __object__ # special, python system use, user should not define like it
   3. __object # private (name mangling during runtime)
   4. _object # obey python coding convention, consider it as private

<pre style="margin-top: 0px; margin-bottom: 0px; padding: 0px; white-space: pre-wrap; word-wrap: break-word; font-size: 11.8518514633179px; line-height: 13.3333330154419px; font-family: 'Courier New' !important;"><span style="margin: 0px; padding: 0px; color: rgb(0, 128, 0); font-size: 12px !important; line-height: 1.5 !important;">#</span><span style="margin: 0px; padding: 0px; color: rgb(0, 128, 0); font-size: 12px !important; line-height: 1.5 !important;">module_1</span><span style="margin: 0px; padding: 0px; font-size: 12px !important; line-height: 1.5 !important;">var_1_var_2</span><span style="margin: 0px; padding: 0px; color: rgb(128, 0, 128); font-size: 12px !important; line-height: 1.5 !important;">__var_3</span>

#module_2_error'''以下划线开头的变量不会从外部导入''' from module_1 import *  print var_1 print _var_2  #将报错 print __var_3  #将报错
#module_2_solutionfrom module_1 import *  # 导入所有的不是下划线开头的对象from module_1 import _var_2, __var_3 # 显式导入下划线开头的对象print var_1print _var_2 # 不会报错print __var_3  # 不会报错
#module_error''' 双下划线开头的变量不能被直接访问'''class MyClass():    def __init__(self):        self.var_1 = 1        self._var_2 = 2        self.__var_3 = 3    if __name__=="__main__":    obj = MyClass()    print obj.var_1    print obj._var_2    print obj.__var_3  # 这里将会出错




0 0
原创粉丝点击