Python编程范式 —— 命名与排版

 

“我没写过诗,但是有人说我写过的代码,像诗一样优雅。 —— 雷军”



命名法则

 

模块、包名:小写字母、单词之间用“_”分割,但尽量不要用下划线(除非多个单词,且数量不多的情况)

类名: 所有单词的首字母大写;内部类可以使用额外的前导下划线。

 

普通函数、变量:

  1. 小写字母,单词之间用_分割;
  2. 如果一个函数的参数名称和保留的关键字冲突,通常使用一个后缀下划线好于使用缩写或奇怪的拼写。
  3. 标识符由字母、数字、下划线组成,且不能以数字开头;

 

全局变量名、常量名:大写字母,单词之间用_分割(所有语言皆是如此)

 

 

类中的成员:

  1. 实例变量:以_开头,其他和普通变量一样
  2. 私有实例变量(外部访问会报错):以__开头(2个下划线),其他和普通变量一样
  3. 私有函数(外部访问会报错):以_开头(1个下划线),其他和普通函数一样
  4. 专有变量:__开头(两个下划线),__结尾,一般为python的自有变量,不要以这种方式命名

 

异常:以“Error”作为后缀。

 

语句:

  1. 在同一行使用多句语句,语句之间就必须使用分号(;)分割;
  2. 使用反斜杠(\)将一个语句拆分为多行;
  3. 缩进:4个空格;

 

缩写

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

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

2. 命名中含有长单词,对某个单词进行缩写。这时应使用约定成俗的缩写方式。

 

下划线有关:

一个前导下划线:protected修饰变量,即保护变量,意思是只有类对象和子类对象自己能访问到这些变量;

一个后缀下划线:避免关键字冲突

两个前导下划线:private修饰变量,私有成员;只有类对象自己能访问,连子类对象也不能访问到这个数据。

两个前导和两个后缀下划线(系统专有变量):“魔”(有特殊用途)对象或者属性,例如__init__或者__file__。绝对不要创造这样的名字,而只是使用它们。

_xxx      不能用'from module import *'导入 
__xxx__ 系统定义名字 
__xxx    类中的私有变量名 

核心风格:避免用下划线作为变量名的开始。

因为下划线对解释器有特殊的意义,而且是内建标识符所使用的符号,我们建议程序员避免用下划线作为变量名的开始。一般来讲,变量名_xxx被看作是“私有的”,在模块或类外不可以使用。当变量是私有的时候,用_xxx 来表示变量是很好的习惯。

 


代码排版

 

行长度

1)每行不超过80个字符

2)不要使用反斜杠连接行.

 

3)Python会将圆括号, 中括号和花括号中的隐式的连接起来, 你可以利用这个特点。如果需要, 你可以在表达式外围增加一对额外的圆括号。

Yes: foo_bar(self, width, height, color='black', design=None, x='foo',

             emphasis=None, highlight=0)



     if (width == 0 and height == 0 and

         color == 'red' and emphasis == 'strong'):

 

4)如果一个文本字符串在一行放不下, 可以使用圆括号来实现隐式行连接:

x = ('This will build a very long long '
     'long long long long long long string')

 

在注释中,如果必要,将长的URL放在一行上。

No:  # See details at
     # http://www.example.com/us/developer/documentation/api/content/\
     # v2.0/csv_file_name_extension_full_specification.html

 

括号

1)宁缺毋滥的使用括号

2)顶级定义之间空两行, 方法定义之间空一行

 

使用空格

1)在二元运算符两边各空一格[=,-,+=,==,>,in,is not, and]:

2)函数的参数列表中,之后要有空格

3)函数的参数列表中,默认值等号两边不要添加空格

4)左括号之后,右括号之前不要加多余的空格

5)字典对象的左括号之前不要多余的空格

 


命名法

帕斯卡命名法(又叫大驼峰式命名法。):

   每一个单字的首字母都采用大写字母的命名格式,被称为“Pascal命名法”。

   单字之间不以空格断开或连接号(-)、底线(_)连结,第一个单字首字母采用大写字母;后续单字的首字母亦用大写字母,例如:FirstName、LastName。

 

驼峰式命名法:

1、小驼峰式命名法(lower camel case):

  第一个单词以小写字母开始,第二个单词的首字母大写。例如:firstName、lastName。

2、大驼峰式命名法(upper camel case):

  每一个单词的首字母都采用大写字母,例如:FirstName、LastName、CamelCase,也被称为 Pascal 命名法。

 

匈牙利命名法:

开头字母用变量类型的缩写,其余部分用变量的英文或英文的缩写,要求单词第一个字母大写。

  int iMyAge; “i”是int类型的缩写;

  char cMyName[10]; “c”是char类型的缩写;

  float fManHeight; “f”是float类型的缩写;

 

 

你可能感兴趣的:(#,Python)