• 技术文章 >头条

    为什么Python 代码要写得美观而明确

    silencementsilencement2020-01-13 16:32:42转载1857

    早在 1999 年,Python 的贡献者之一,Tim Peters 就提出了《Python 之禅》,直到二十年后的今天,《Python 之禅》中的 19 条原则

    仍然对整个社区都产生着深远的影响。为此,就像庆典光明的光明节Hanukkah一样,我们举行了这一次的“Python 光明节

    Pythonukkah”。首先,我们会讨论《Python 之禅》中的前两个原则:美观和明确。

    “Hanukkah is the Festival of Lights,
    Instead of one day of presents, we get eight crazy nights.”
    —亚当·桑德勒,光明节之歌

    美观胜于丑陋

    著名的《计算机程序的构造和解释Structure and Interpretation of Computer Programs》中有这么一句话:代码是写给人看的,只

    是恰好能让机器运行。Programs must be written for people to read and only incidentally for machines to execute.机器并不

    在乎代码的美观性,但人类在乎。

    阅读美观的代码对人们来说是一种享受,这就要求在整套代码中保持一致的风格。使用诸如 Black、flake8、Pylint 这一类工具能够

    有效地接近这一个目标。

    但实际上,只有人类自己才知道什么才是真正的美观。因此,代码审查和协同开发是其中的不二法门,同时,在开发过程中倾听别人的

    意见也是必不可少的。

    最后,个人的主观能动性也很重要,否则一切工具和流程都会变得毫无意义。只有意识到美观的重要性,才能主动编写出美观的代码。

    这就是为什么美观在众多原则当中排到了首位,它让“美”成为了 Python 社区的一种价值。如果有人要问,”我们真的在乎美吗?

    “社区会以代码给出肯定的答案。

    明确胜于隐晦

    人类会欢庆光明、惧怕黑暗,那是因为光能够让我们看到难以看清的事物。同样地,尽管有些时候我们会不自觉地把代码写得含糊不

    清,但明确地编写代码确实能够让我们理解很多抽象的概念。

    “为什么类方法中要将 self 显式指定为第一个参数?”

    这个问题已经是老生常谈了,但网络上很多流传已久的回答都是不准确的。在编写元类metaclass时,显式指定 self 参数就显得毫无

    意义。如果你没有编写过元类,希望你可以尝试一下,这是很多 Python 程序员的必经之路。

    显式指定 self 参数的原因并不是 Python 的设计者不想将这样的元类视为“默认”元类,而是因为第一个参数必须是显式的。

    即使 Python 中确实允许非显式的情况存在(例如上下文变量),但我们还是应该提出疑问:某个东西是不是有存在的必要呢?如果非

    显式地传递参数会不会出现问题呢?有些时候,由于种种原因,这是会有问题的。总之,在写代码时一旦能够优先考虑到明确性,至少

    意味着能对不明确的地方提出疑问并对结果作出有效的估计。

    专题推荐:python
    上一篇:11个最佳的Python编译器和解释器 下一篇:一行命令给你的头像自动戴上口罩

    相关文章推荐

    • 用什么工具运行python代码• python2和3哪个常用• python怎么安装idle

    全部评论我要评论

    © 2021 Python学习网 苏ICP备2021003149号-1

  • 取消发布评论
  • 

    Python学习网