page contents

如何编写更干净、更易读的python代码?

在本文中,将介绍下如何编写干净的python 代码,这些技巧中的大多数也可以用于任何语言,但在进入主题之前,建议大家先去试运行下以下命令,就是在python交互模式导入this,然后就会展示以下内容,当然运行的时候会显示英文的,这是翻译的中文版本:

attachments-2026-04-XLsBUpXM69e2e2c580eb7.png在本文中,将介绍下如何编写干净的python 代码,这些技巧中的大多数也可以用于任何语言,但在进入主题之前,建议大家先去试运行下以下命令,就是在python交互模式导入this,然后就会展示以下内容,当然运行的时候会显示英文的,这是翻译的中文版本:



import this


Python 之禅,蒂姆·彼得斯 (Tim Peters)

美丽总比丑陋好。
显式优于隐式。
简单胜于复杂。
复杂胜于复杂。
平面优于嵌套。
稀疏比密集好。
可读性很重要。
特殊情况不足以打破规则。
虽然实用胜过纯洁。
错误永远不应该悄无声息地过去。
除非明确沉默。
面对模棱两可,拒绝猜测的诱惑。
应该有一种——最好只有一种——明显的方法来做到这一点。
虽然这种方式一开始可能并不明显,除非你是荷兰人。
现在总比没有好。
虽然从来没有现在通常比 *right* 更好。
如果实现很难解释,那是个坏主意。
如果实现很容易解释,那可能是个好主意。
命名空间是一个很棒的想法——让我们做更多的事情!

以上就是开场,因为这是本篇的主旨,以下具体几个方面谈一下如何编写更可读的代码

使用适当的间距

与其他编程语言不同,python 中的间距非常重要,因此更加严格, 但这并不意味着你没有一些自由:在这种情况下,间距意味着行之间的空间, 尝试用一两个空行分隔每个函数,以及每个代码块, 你甚至可以在不相关的代码部分之间添加更多行,例如,不建议这样写:

from flask import Flaskrender_template
app = Flask(__name__)
@app.route("/")
def home():
    return render_template("index.html")
@app.route("/page2.html")
def pg2():
     return render_template("page2.html")
if __name__ == "__main__":
    app.run(host='0.0.0.0'debug=Trueport=3134)

可以这样:

from flask import Flaskrender_template

app = Flask(__name__)

@app.route("/")
def home():
    return render_template("index.html")
   
@app.route("/page2.html")
def pg2():
   return render_template("page2.html")
   
   
if __name__ == "__main__":
app.run(host='0.0.0.0'debug=Trueport=3134)

好的,这可能很明显,但不要忘记它。


你的代码应该有一个顺序

首先,导入所有库,然后,创建变量和常量, 之后,创建你的类和函数, 只有这样,使用所有这些现有的对象来完成你想做的任何事情,如果你想编写更好的代码,请在你可以使用 if __name__ == “__main__”语句调用的 main() 函数中运行所有内容, 以下是这样的结构可能的样子:


import library1
import library2


X_SIZE = 700
Y_SIZE = 400
COLOR1 = (000)
COLOR2 = (2552550)
COLOR3 = (0255127)


variable1 = 0
variable2 = True


def function1(...):
...

def function 2(...):
...


def main():
# 调用写在这里


if __name__ == “__main__”:
    main()

附带说明一下,常量通常用大写字母和下划线书写,而变量则用小写字母书写。


正确记录你的代码

你的变量应该不言自明不要将变量命名为 x、var1 或 thing, 相反,根据它包含的内容命名它,例如 winHeightX、n_attemps、message 等...最重要的是,你知道你可以在 python 中使用冒号指定变量的类型:

int_variableint = 10
textstr = "hello!"

举一个愚蠢的例子,哪个写法会给代码的读者更多的上下文?

x = 11800000

或者

ohio_populationint = 11800000

#你甚至可以下划线使你的整数更具可读性
ohio_populationint = 11_800_000


给你的代码添加注释

这个不言自明,但不要忽视它,你写评论不仅是为了让其他人阅读你的代码,而且是为了在接触一段代码几天后回到自己的代码,这个很重要,不然你自己可能都认不得你写的代码。


使用导入库的名称

这个意思是,不要使用:

from library import *

可以这样

import library
#或
import library as lib

这应该是常见的做法,你想知道你的变量和函数来自哪里, 最重要的是,python 开发人员对一些库采用了“标准”命名,因此使用它们也会自动使你的代码更易于理解,例如:

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt


最后建议:不要让一个函数做所有事情

这是最后一个小技巧:使用多个较小的函数而不是一个可以做所有事情的大函数, 你的代码应该逐块构建, 此外,通过正确命名和注释每个函数,你的代码将更加易于理解,并且你将更容易实现它。

更多相关技术内容咨询欢迎前往并持续关注好学星城论坛了解详情。

想高效系统的学习Python编程语言,推荐大家关注一个微信公众号:Python编程学习圈。每天分享行业资讯、技术干货供大家阅读,关注即可免费领取整套Python入门到进阶的学习资料以及教程,感兴趣的小伙伴赶紧行动起来吧。

attachments-2022-05-rLS4AIF8628ee5f3b7e12.jpg

你可能感兴趣的文章

相关问题

0 条评论

请先 登录 后评论
Pack
Pack

1963 篇文章

作家榜 »

  1. 轩辕小不懂 2403 文章
  2. 小柒 2228 文章
  3. Pack 1963 文章
  4. Nen 576 文章
  5. 王昭君 209 文章
  6. 文双 71 文章
  7. 小威 64 文章
  8. Cara 36 文章