python注释及命名规范

注释

'''
这是多行注释
'''
"""
这也是多行注释
"""
print("hello,world")
#这是单行注释

函数和方法

  • Args:
    • 列出每个参数的名字, 并在名字后使用一个冒号和一个空格, 分隔对该参数的描述.如果描述太长超过了单行80字符,使用2或者4个空格的悬挂缩进(与文件其他部分保持一致). 描述应该包括所需的类型和含义. 如果一个函数接受*foo(可变长度参数列表)或者**bar (任意关键字参数), 应该详细列出*foo和**bar.
  • Returns: (或者 Yields: 用于生成器)
    • 描述返回值的类型和语义. 如果函数返回None, 这一部分可以省略.
  • Raises:
    • 列出与接口有关的所有异常.
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

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."""

块注释和行注释

# We use a weighted dictionary search to find out where i is in
# the array.  We extrapolate position based on the largest num
# in the array and the array size and then do binary search to
# get the exact number.

if i & (i-1) == 0:        # True if i is 0 or a power of 2.

命名规范

  1. 单下划线(_)开头表示模块变量或函数是protected的(使用from module import *时不会包含).
  2. 用双下划线(__)开头的实例变量或方法表示类内私有.
类型 规范 示例
模块 全小写,单词间使用下划线连接 my_tools
全小写,单词间使用下划线连接 my_package
类名 每个单词首字母大写 BinaryTree
函数 全小写,单词间使用下划线连接 quick_sort()
变量 全小写,单词间使用下划线连接 total_num
常量 全大写,单词间使用下划线连接 MAX_NUM

详细参见Google 开源项目风格指南

猜你喜欢

转载自www.cnblogs.com/redo19990701/p/11456754.html