Python风格规范

Python风格规范

整理自Google开源项目指南

分号

  1. 不要在行尾加上分号,也不要用分号将两条命令分开;

行长度

  1. 每行长度不超过80个字符;
  2. 不要使用反斜杠连接行,可以使用圆括号来连接;
    # True
         x = (‘This will build a very long long ‘
         ‘long long long long long long string‘)
         

  3. URL可以单独放一行,不需要分割;

括号

  1. 除非是实现行连接,否则不要在返回语句或者条件语句中使用括号;

    # wrong
         def foo():
         if (True):
         print(‘True‘)
         return (True)
         

缩进

  1. 用4个空格来缩进代码,不要使用Tab。

空行

  1. 顶级定义(函数定义或者类定义)之间空两行,方法定义之间空一行;

空格

  1. 括号两边不要有空格;
  2. 不要在逗号,分号,冒号前面加空格,而是在后面加;
  3. 字典中冒号前面不用加空格,而是在后面加;
  4. 二元操作符两边都要加上一个空格,包括=、<、>、in、not in等等;
  5. 不要用空格垂直对齐多行间的标记;
    # True
         foo = 1000 # comment
         long_name = 2 # comment that should not be aligned
         

注释

  1. 一个函数除非是非常短小或者简单明了,否则都应该有注释;
  2. 函数注释需要包括说明、参数、返回、异常;
    def fetch_bigtable_rows(big_table, keys, other_silly_variable=None):
         """Fetches rows from a Bigtable.
         Retrieves rows pertaining to the given keys from the Table instance
         represented by big_table. Silly things may happen if
         other_silly_variable is not None.
         Args:
          big_table: An open Bigtable Table instance.
          keys: A sequence of strings representing the key of each table row
          to fetch.
          other_silly_variable: Another optional variable, that has a much
          longer name than the other args, and which does nothing.
         Returns:
          A dict mapping keys to the corresponding table row data
          fetched. Each row is represented as a tuple of strings. For
          example:
          {‘Serak‘: (‘Rigel VII‘, ‘Preparer‘),
          ‘Zim‘: (‘Irk‘, ‘Invader‘),
          ‘Lrrr‘: (‘Omicron Persei 8‘, ‘Emperor‘)}
          If a key from the keys argument is missing from the dictionary,
          then that row was not found in the table.
         Raises:
          IOError: An error occurred accessing the bigtable.Table object.
         """
         pass
         

  3. 类的注释包括说明,如果属性是公共属性,那么还需要包括属性;
    class SampleClass(object):
         """Summary of class here.
         Longer class information....
         Longer class information....
         Attributes:
          likes_spam: A boolean indicating if we like SPAM or not.
          eggs: An integer count of the eggs we have laid.
         """
         def __init__(self, likes_spam=False):
         """Inits SampleClass with blah."""
         self.likes_spam = likes_spam
         self.eggs = 0
         def public_method(self):
         """Performs operation blah."""
         

  4. 块注释和行注释应该写代码做了什么(如果较复杂),而不是描述代码;
  5. 使用"""字符来标注;

  1. 如果一个类不继承自其它类,就显式的从object继承,不要什么都不写;

字符串

  1. 避免在循环中使用+来连接字符串,推荐使用数组的join;
  2. 在同一个文件中, 保持使用字符串引号的一致性;

TODO注释

  1. 为临时代码使用TODO注释, 它是一种短期解决方案;
  2. TODO注释应该在所有开头处包含”TODO”字符串,紧跟着是用括号括起来的你的名字,email地址或其它标识符,然后是一个可选的冒号,接着必须有一行注释,解释要做什么。
    # True
         # TODO([email protected]): Use a "*" here for string repetition.
         # TODO(Zeke) Change this to use relations.
         

导入格式

  1. 每个导入应该独占一行;

    # False
         import os, sys
         # True
         import os
         import sys
         

  2. 导入应该按照最通用到最不通用的顺序进行排序,首先是1. 标准库;2.第三方库;3. 模块库;

语句

  1. 除了exp if else,语句最好单独一行;

命名

  1. 使用单下划线开头表示模块变量或者函数是protected的;
  2. 使用双下划线开头表示实例变量或者方法是类内私有的;
  3. 类名应该使用大写字母开头的单词;
  4. 模块名和函数名和参数名应该使用小写加下划线的方式;

Main

  1. 为了避免倒入模块时被执行,需要加上mian的判断;

    def main():
         ...
         if __name__ == ‘__main__‘:
         main()

时间: 2024-08-14 04:25:21

Python风格规范的相关文章

[转] Python风格规范

Google 开源项目风格指南 Python风格规范 分号 Tip 不要在行尾加分号, 也不要用分号将两条命令放在同一行. 行长度 Tip 每行不超过80个字符 例外: 长的导入模块语句 注释里的URL 不要使用反斜杠连接行. Python会将 圆括号, 中括号和花括号中的行隐式的连接起来 , 你可以利用这个特点. 如果需要, 你可以在表达式外围增加一对额外的圆括号. Yes: foo_bar(self, width, height, color='black', design=None, x=

Python 风格规范

分号 不要在行尾加分号, 也不要用分号将两条命令放在同一行. 行长度 每行不超过80 个字符 例外: 如果使用Python 2.4 或更早的版本, 导入模块的行可能多于80 个字符. Python 会将圆括号, 中括号和花括号中的行隐式的连接起来, 你可以利用这个特点. 如 果需要, 你可以在表达式外围增加一对额外的圆括号. Yes: foo_bar(self, width, height, color='black', design=None, x='foo', emphasis=None, 

Python代码规范

一:背景 用于规范化ocp python开发,对于使用python开发的程序使用统一的风格,便于代码的维护 二:python风格规范 分号:不要在行尾加分号,也不要用分号将两条命令放在同一行 括号:宁缺毋滥的使用括号.除非是用于实现行连接,否则不要在返回语句或者条件语句中使用括号,不过在元组两边使用括号是允许的 缩进:用4个空格来代替缩进代码.绝对不要用tab,也不要tab和空格混用.对于行连接的情况,你应该要么垂直对齐换行的元素,或者使用4空格的悬进式缩进(这时第一行不应该有参数) 空行:顶级

Python 编码规范(Google) (转)

Python 风格规范(Google) 本项目并非 Google 官方项目, 而是由国内程序员凭热情创建和维护. 如果你关注的是 Google 官方英文版, 请移步 Google Style Guide 以下代码中 Yes 表示推荐,No 表示不推荐. 分号 不要在行尾加分号, 也不要用分号将两条命令放在同一行. 行长度 每行不超过80个字符 以下情况除外: 长的导入模块语句 注释里的URL 不要使用反斜杠连接行. Python会将 圆括号, 中括号和花括号中的行隐式的连接起来 , 你可以利用这

Python编码规范学习

Python 风格规范(Google) 本项目并非 Google 官方项目, 而是由国内程序员凭热情创建和维护. 如果你关注的是 Google 官方英文版, 请移步 Google Style Guide 以下代码中 Yes 表示推荐,No 表示不推荐. 分号 不要在行尾加分号, 也不要用分号将两条命令放在同一行. 行长度 每行不超过80个字符 以下情况除外: 长的导入模块语句 注释里的URL 不要使用反斜杠连接行. Python会将 圆括号, 中括号和花括号中的行隐式的连接起来 , 你可以利用这

Python 编码规范(Google)

Python 风格规范(Google) 本项目并非 Google 官方项目, 而是由国内程序员凭热情创建和维护. 如果你关注的是 Google 官方英文版, 请移步 Google Style Guide 以下代码中 Yes 表示推荐,No 表示不推荐. 分号 不要在行尾加分号, 也不要用分号将两条命令放在同一行. 行长度 每行不超过80个字符 以下情况除外: 长的导入模块语句 注释里的URL 不要使用反斜杠连接行. Python会将 圆括号, 中括号和花括号中的行隐式的连接起来 , 你可以利用这

一步一步学Python(1) 基本逻辑控制举例和编码风格规范

(1) 基本逻辑控制举例和编码风格规范 1.while死循环 2.for循环 3.if,elif,else分支判断 4.编码风格(官方建议) 版本:Python3.4 1.while死循环 >>> import time >>> i = 0 >>> while 1: ... i += 1 ... print(i) ... time.sleep(3) ... 1 2 3 ^CTraceback (most recent call last): File

《自拍教程》Python编程风格规范

Python编程风格规范 根据Python官方提供的Python编程风格规范: Style Guide for Python Code, 即PEP8规范, https://www.python.org/dev/peps/pep-0008/ 我通过学习并翻译总结, 总结了以下几条编程风格规范,各位同学可考虑自行参考. 良好的编程风格规范可以凸显代码编写者是否专业, 并提高其他代码阅读者的易读性. 我面试过很多测试求职候选人,做笔试题的时候. 一看代码命名规范,就知道正点不正点了, 是不是老手. 阅

说说Python编码规范

前言 已有近两个月没有发表过文章了,前段时间外甥和女儿过来这边渡暑假,平常晚上和周末时间都陪着她们了,趁这个周末有空,再抽空再把这块拾起来.         这么久没写了,再次拿起键盘,想想,发表些什么呢,想起上次公司的代码评审委员会下周其中一个议题是关于Python编码规范的整理,那就趁热打铁,整理一份关于Python编码规范的文章,也为那些写Python的人,提供一些编码注意的一些事项或者说是参考吧. 编码规范的作用         规范故明思义,就是通过不断的总结,吸取好的点,从而形成的一