早在 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美观代码_为什么Python 代码要写得美观而明确相关推荐

  1. python 概率分布模型_使用python的概率模型进行公司估值

    python 概率分布模型 Note from Towards Data Science's editors: While we allow independent authors to publis ...

  2. python 时间序列预测_使用Python进行动手时间序列预测

    python 时间序列预测 Time series analysis is the endeavor of extracting meaningful summary and statistical ...

  3. python美观代码_为何 Python 代码要写得美观而明确

    欢迎阅读"Python 光明节(Pythonukkah)"系列文章,这个系列文章将会讨论<Python 之禅>.咱们首先来看<Python 之禅>里的前两个 ...

  4. python计算面积代码_利用Python求阴影部分的面积实例代码

    利用Python求阴影部分的面积实例代码 来源:中文源码网    浏览: 次    日期:2019年11月5日 [下载文档:  利用Python求阴影部分的面积实例代码.txt ] (友情提示:右键点 ...

  5. python定时开关机的代码_用python写一个windows下的定时关机脚本(推荐)

    由于本人经常使用笔记本共享WiFi,但是又不想笔记本开机一夜(为了低碳环保嘛 ~_~!),所以每次都要用使用DOS命令关机,感觉好麻烦.正好最近在学习Python,于是决定用python写一个定时关机 ...

  6. python 运行程序代码_一些python程序

    <从问题到程序:用Python学编程和计算>--1.2 Python语言简介 本节书摘来自华章计算机<从问题到程序:用Python学编程和计算>一书中的第1章,第1.2节,作者 ...

  7. python编码尺寸_基于Python批量生成指定尺寸缩略图代码实例

    这篇文章主要介绍了基于Python批量生成指定尺寸缩略图代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 最近我们商城上架的应用越来越丰富了. ...

  8. 用python实现点阵屏_用Python代码来绘制彭罗斯点阵的教程

    这里是显示彭罗斯点阵的Python的脚本.是的,这是可以运行的有效Phython代码. 译注:彭罗斯点阵,物理学术语.上世纪70年代英国数学家彭罗斯第一次提出了这个概念,称为彭罗斯点阵(Pen-ros ...

  9. excel图片变成代码_没错, Python杀死了Excel

    在大家的印象里,想进入金融行业或者数据岗位,首先需要精通Excel.然而野村证券副首席数字官马修·汉普森在上周五的伦敦Quant Conference上发表讲话:"现在走进交易大厅,用Exc ...

  10. python重启程序代码_重启python程序

    跑程序跑到后面就越跑越慢了,就学习了一下重启程序的命令. 这是远程服务器跑的程序,亲测有用. import os import sys def restart_program(): print(&qu ...

最新文章

  1. javascript知识点
  2. linux下添加路由的方法
  3. oracle数据加载控制文件格式,oracle数据加载的几种常用方法
  4. 机器学习笔记:高斯判别分析
  5. c语言 结构数组读取,有关文件读写到结构体数组问题;
  6. weakreference_Java中WeakReference,SoftReference,PhantomReference和Strong Reference之间的区别...
  7. 图像学之底层算法基石其一
  8. 质量管理系统_晟通集团内训 | 质量管理系统提升实战训练
  9. Fields of Mathematics
  10. C# asp.net常见编译|运行错误
  11. pythonATM,购物车项目实战3-视图函数
  12. ghost64怎么装linux,CentOS 7.5上安装Node.js搭建Ghost个人博客
  13. 如何给产品需求做“体检”
  14. alexa世界排名的登录及使用教材(转)
  15. 什么是soft matting方法_建筑师学“交互”有什么意义?零基础如何展开?
  16. 用心邂逅美好,用爱守护童真
  17. 用Python做一个会旋转的五彩风筝
  18. 邮件中的网页链接地址打不开的解决方法
  19. 【一周头条盘点】中国软件网(2018.1.29~2018.2.2)
  20. 用ffmpeg录制小程序直播开发高清视频并实现直播推流

热门文章

  1. C#语言实例源码系列-鼠标设置
  2. 【图像处理】图像拼接原理介绍
  3. 一个程序员的自我修养和敬畏之心
  4. 安全操作系统的一些设计原则
  5. 计算机维修商业计划书,电脑维修店创业计划书
  6. Alta 429板卡在安装厂家自带的驱动后,没法运行自带的例子的解决方法
  7. 预见2019:吴晓波年终秀VS时间的朋友(二)
  8. selenium(java)之屏幕截图操作TakesScreenshot
  9. MS Sql Server查询数据库文件大小和剩余空间,数据库日志压缩
  10. 常用ADB命令——安装、安装镜像