代码的艺术,如何写出优质的Python代码?

  • Post author:
  • Post category:python


目录


目录


目录


前言


开始学习吧


1.Python之禅


2.PEP8编码规范


​编辑


总结




前言

什么样的程序是好的?如何编写出漂亮的代码?这是学习编程一段时间最经常提及的问题,却很难回答.程序设计语言如同自然语言一样,好的代码就像文学作品,不仅达意,更要优美.

那什么是”好”?什么是”优美”?领悟编程代码优美的过程类似参禅,除了不断的练习,也需要掌握一下原则.


开始学习吧

1.Python之禅

Python编译器以函数库的形式内置了一个有趣的文件,被称为”Python之禅”(The Zen of Python).当调用如下一行语句后,会出现一段有趣的效果.

>>> import this


The Zen of Python, by Tim Peters

Beautiful is better than ugly.

Explicit is better than implicit.

Simple is better than complex.

Complex is better than complicated.

Flat is better than nested.

Sparse is better than dense.

Readability counts.

Special cases aren’t special enough to break the rules.

Although practicality beats purity.

Errors should never pass silently.

Unless explicitly silenced.

In the face of ambiguity, refuse the temptation to guess.

There should be one– and preferably only one –obvious way to do it.

Although that way may not be obvious at first unless you’re Dutch.

Now is better than never.

Although never is often better than *right* now.

If the implementation is hard to explain, it’s a bad idea.

If the implementation is easy to explain, it may be a good idea.

Namespaces are one honking great idea — let’s do more of those!

这是一篇由

Tim Peters

撰写的文章,介绍了编写优美的Python程序所需要关注的一些重要原则.这是参考翻译

  • Python之禅        作者: Tim Peters
  • 美丽胜于丑陋
  • 明了胜于深奥
  • 简洁胜于复杂
  • 复杂胜于凌乱
  • 扁平胜于嵌套
  • 间隔胜于紧凑
  • 可读性非常重要
  • 即使假借特例的实用的名字,也不要违背以上规则
  • 除非你有需要,任何错误都应该有应对
  • 当存在许多可能,不要去猜测
  • 除非你是荷兰人,对于问题尽量找一种,最好是唯一的,明显的方法
  • 做可能好于什么都不做,但不假思索就动手还不如不做
  • 如果你无法向人描述你的方法,那肯定不是一个好方法
  • 如果实现方法容易描述,解释,那可能是个好方法
  • 命名空间是绝妙的理念,要多多运用.

代码的艺术

好的程序代码不仅能够完成功能,也是一件艺术作品.对于程序员来说,绝大多数时间在阅读并修改代码,好的代码可读性能将这种阅读变成一种享受.如何编写好的代码呢?请大家首先熟练掌握一门语言,如Python;其次,要阅读一定量的优质的代码,思考这些代码的编程思路和风格;最后,选择一个有兴趣的项目编写代码,修改,再修改,直到你认为它是个艺术品为止.


2.PEP8编码规范


PEP是Python Enhancement Proposal的缩写,通常翻译为“Python增强提案”。每个PEP都是一份为Python社区提供的指导Python往更好的方向发展的技术文档,其中的第8号增强提案(PEP 8)是针对Python语言编订的代码风格指南。

下面整理了一下PEP 8规范中一些常用的准则,如果需要掌握更加详尽的Python代码规范,需要到官方网站

https://peps.python.org/pep-0008/

中查看学习


  1. 使用4个空格缩进,不要使用制表符

  2. 空格的使用:

    通常情况,运算符两侧,函数参数之间,逗号”,”两侧建议用空格分隔.
  3. 每个import语句只导入一个模块,尽量避免一次导入多个模块.
  4. 不要在行尾加分号”;”,也不要用分号吧两条命令放在一行.
  5. 建议每行不超过80个字符,如果超过,建议用小括号”( )”将多行内容隐式的连接起来,不推荐用反斜杠”\”连接.例:

    print('hello'
          'world')

  6. 使用必要的空行可以增加代码的可读性.一般在顶级定义(如函数或者类的定义)之间空两行,方法之间空一行.另外,在用于分隔某些功能是也可以空一行.
  7. 适当使用异常处理结构提高程序的容错性,但不能过多依赖异常处理结构,适当的显示判断还是必要的.


命名规范:

  1. 模块名尽量短小,并且全部用小写字母.
  2. 包名尽量短小,并且全部用小写字母,不推荐使用下划线”_”.
  3. 类名采用单词首字母大写的形式(即Pascal风格).
  4. 模块内部的类采用下划线”_” + Pascal的类名组成.
  5. 函数,类的属性方法的命名与模块相似.
  6. 常量命名全部用大写字母.
  7. 使用双下划线”__”开头的示例变量或方法是类私有的.

总结

好的程序代码不仅能够完成功能,也是一件艺术作品.对于程序员来说,绝大多数时间在阅读并修改代码,好的代码可读性能将这种阅读变成一种享受.如何编写好的代码呢?请大家首先熟练掌握一门语言,如Python;其次,要阅读一定量的优质的代码,思考这些代码的编程思路和风格;最后,选择一个有兴趣的项目编写代码,修改,再修改,直到你认为它是个艺术品为止.



这是作者的第一篇文章,感谢您看到这里.祝大家新年快乐!



版权声明:本文为East_China_Sea原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。