http://blog.sina.com.cn/s/blog_4452275001012vzl.html

来源:互联网 发布:js 图片浏览器 手机 编辑:程序博客网 时间:2024/05/29 13:03
  1. #!/usr/bin/env python     #在文件头部 第一行 加上   设置 Python 解释器   
  2. -*- coding: utf-8 -*-     #在文件头部 第二行 加上   在编辑器中设置以 UTF-8 默认编码保存文件  
  3. Copyright (c) 2011 chinakr <chinakr@gmail.com>    #版权信息放在文件头部,文件编码之后   
  4.   
  5. docstring 是 Python 特有的注释风格,它是模 块、类或函数的第一个语句,可以通过 __doc__ 方法访问    
  6. 用英语撰写注释,短注释可以忽略末尾的句号 (.)   
  7. docstring 为每个模块、类或函数撰写 docstring   推荐使用三个双引号 (”””) 来定义 docsting 不推荐使用三个单引号 (''')   
  8. 模块的 docsting 放在文件头部,版权信息之后   
  9.   
  10. ”””This is  one line docstring.”””  
  11. ”””The title of multiline docstring:  
  12. After title is  the content.You can write it as long as needed.  
  13. ”””  
  14.   
  15. 把 import 语句放在文件头部,在模块 docstring 之后,在模块全局变量或全局常量之前   
  16. 按照从一般到特殊的原则分组 import 语句,先 import 标准库,然后 import 第三方库,最后 import 程序中的自定义库   
  17. 在不同分组的 import 语句之间加空行    
  18. 每个 import 语句只导入一个模块   
  19.   
  20. import  sys   
  21. import  time  
  22.   
  23. from  PyQt.QtCore  import  SIGNAL, QTimer  
  24.   
  25.  在终端中使用中文字符  在文件头部加上   
  26. import sys    
  27. reload(sys)    
  28. sys.setdefaultencoding('utf-8')   
  29.   
  30. 一行代码的长度不能超过 79 个字符   
  31. 在括号 圆括号、方括号、花括号 内部折行是 推荐使用的方式   
  32. fooBar(self width, height, color= 'balck' design= None x= 'foo'  
  33.        emphasis=None highlight= 0  
  34. 需要时可以在表达式两侧加上额外的括号   
  35. if  (width ==  0   and  height ==  0   and    
  36.     color == 'red'   and  empasis ==  'strong' ):  
  37. 括号内的长字符串可以直接写成两个短字符串   
  38. ('This will build very long long '    
  39.      'long long long long long long string'  
  40.   
  41. 使用续行符号,折行的位置可以在逗号 (,) 后或 运算符前,折行后要多一个缩进   
  42. from  PyQt4.QtCore  import  QTextCodec, SIGNAL, SLOT,  
  43.     QLibraryInfo, QTimer  
  44. veryLongVariableA veryLongVariableB  
  45.      verLongVariableC  
  46. 使用 个空格进行缩进 不要使用 Tab 或者混合使用空格和 Tab   
  47.   
  48. 适当的空行可以提高代码的可读性 加空行的原则:   
  49. ## 在不同分组的 import 语句之间加空行   
  50. ## 在顶层的类或函数定义之间加两个空行   
  51. ## 在类或函数定义之间加空行   
  52. ## 相关的函数定义可以放在一起,并使用两个空行来分 隔 应谨慎地使用额外的空行 )   
  53. ## 在函数或方法内部可以加空行,也就是把相关的代码 紧凑地写在一起,形成逻辑段落,段落之间用空行分 隔 应谨慎地使用额外的空行 )   
  54.   
  55. 加空格的情况:   
  56. ## 逗号 (,) 、冒号 (:) 后要加空格   
  57. ## 二元运算符前后要加空格,如赋值运算符 (=) 、比较 运算符 (==, <, >, !=, <=, >=, in, not in, is, is not) 和逻 辑运算符 (and, or, not)   
  58. ## 算数运算符前后要加空格   
  59.   
  60. 不加空格的情况:   
  61. ## 逗号 (,) 、冒号 (:) 前不加空格 参数列表、索引 (index) 或切片 (slice) 的前括号    
  62. ## 括号, 方括号)前不加空格 前括号 圆括号、 方括号、花括号 后不加空格,后   
  63. ## 括号前不加空格 一元运算符前后不加空格   
  64. ## 函数或方法定义或调用时参数列表中的等号 (=) 前后 不加空格   
  65. ## 冒号 (:) 在行尾时不加空格,如类定义、函数定义、 分支语句、循环语句   
  66.   
  67.   
  68. 谨慎地使用括号   
  69.   
  70. 不要在返回语句和条件语句中使用括号,除非是 为了换行   
  71. if  foo:   
  72.     bar()  
  73. return  foo  
  74. 可以在元组 (tuple) 两侧使用括号    
  75. for  (x, y)  in  dict.items():  
  76.   
  77.   
  78. 恰当的命名可以提高代码的可读性 命名时只使用 ASCII 字符,并尽量使用英文单词 命名规则   
  79. 类型    公共  内部   
  80. 包 lower_with_under       
  81. 模块    lower_with_under    _lower_with_under   
  82. 类 CapWords    _CapWords   
  83. 函数    capWords()  _capWords()   
  84. 全局常量 类常量    CAPS_WITH_UNDER     _CAPS_WITH_UNDER   
  85. 全局变量 类变量    capWords    _capWords   
  86. 方法    capWrods()  _capWords() 保护 __capWords() 私有 )   
  87. 函数参数 方法参数   capWords   
  88. 局部变量  capWrods   
  89.   
  90. 不要使用l(小写的L)、o(小写的O)和I(大写的 i) 作为单字符变量名,因为在某些字体下很难把 它们和数字1、0区分开   
  91.   
  92. ## 当需要使用 l( 小写的 L) 时可以使用 代替   
  93. ## 当需要使用保留关键字作为函数名时,可以在名 字后加一个下划线 (_) ,而不要破坏正常的拼写   
  94.   
  95. 模块的主要功能要放在 main() 函数中   
  96. def  main():   
  97.     //do something  
  98. if  __name__ ==  '__main__'   
  99.     main()  
0 0