Python

编写高质量Python程序(一)基本准则

2020-04-13  本文已影响0人  程序员MONTE

本系列文章为《编写高质量代码——改善Python程序的91个建议》的精华汇总。

文章首发于公众号【Python与算法之路】

理解Pythonic概念

# 交换两个变量
a, b = b, a

# for循环遍历容器
for elem in alist:
    do_sth_with(elem)

# format格式化字符串
print("{greet} from {language}!".format(greet="hello, world!", language="Python"))

编写Pythonic代码

注意要避免的事:

深入理解Pythonic的几个途径:

理解Python和C语言的不同之处

在代码中添加注释

Python中有3种形式注释:

需要注意:

  1. 使用块或行注释时,仅仅注释那些复杂操作、算法,还有那些难以理解的、不够一目了然的代码。
  2. 注释和代码隔开一定距离。
x = x + 1  # 这样的注释略近
x = x + 1       # 更好的注释位置
  1. 给外部可访问的函数或方法添加文档注释。描述其功能、参数、返回值及可能的异常等信息。例如:
def get_lines(name, lines):
    """Return lines that begin with name.
    Lines are expected to look like:
        name: space separated values
    Args:
        name: string, parameter name.
        lines: iterable of string, lines in the file.
    Returns:
        List of values in the lines that match.
    """
    retval = []
    matches = itertools.ifilter(lambda x: x.startswith(name + ":"), lines)
    for line in matches:
        retval.extend(line[len(name) + 1 :].split())
    return retval
  1. 建议在文件头包含copyright声明、模块描述,有必要的话还可以加入作者信息。例如:
#!/usr/bin/python
# -*- coding: utf-8 -*-
#
# Copyright 2014 Google Inc. All Rights Reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not ...
  1. 更新代码之后,注释要和代码同步更新。在实际工作中,很容易发生代码不断迭代,而忘了更新注释的情况,需要加以小心。

适当添加空行,使代码布局更优雅、合理

  1. 在一组代码表达完一个完整思路之后,应用空行进行分隔。
  2. 保持上下文语义的易理解性。 当一个函数调用另一个函数时,尽量将它们放在一起,一般调用者在上,被调用者在下。
def A():
    B()

def B():
    pass
  1. 空格的使用
    • 二元运算符(赋值=,比较(==, <, >, !=, <=, >=, in, not in, is, is not),布尔运算(and, or, not))的左右两边。如x == 1
    • 逗号和分号前不要使用空格。
    • 函数名和左括号之间、序列索引操作时序列名和[]之间不需要空格,函数的参数=两侧不需要空格。

编写函数的4个原则

  1. 函数设计尽量短小,嵌套层次不宜过深。
  2. 函数声明需合理、简单、易于使用。
  3. 函数参数设计时,应考虑向下兼容(兼容之前的版本)。
  4. 一个函数只做一件事(解耦合)。

本文由博客群发一文多发等运营工具平台 OpenWrite 发布

上一篇下一篇

猜你喜欢

热点阅读