《python之禅》中有一句话:

Simple is better than complex.
Complex is better than complicated.

直接的翻译帮助不大:简单比复杂好,复杂比难懂的复杂好。
我们尝试分析它的内在含义。
第一句的意思相对好理解:如果能够让结构简单一些,就尽量简单一些。

为什么?

因为简单的结构鲁棒性更强。
简单的结构适用性更广,在情况发生变化时,受到的影响也更小。
结构越复杂,说明考虑的具体情况越多,于是也就越难以应对外部情况的改变。
从英文角度来看,两个词都是同一个词根,ple和plex的意思相同,都是折叠的意思。字面分析,simple就是折一次,complex就是都折起来。这就是简单与复杂的区别。能少折几次,就少折几次。

第二句想表达的意思有两层:

  1. 复杂性是不可避免的。简单的结构可以解决很多非常本质的问题,但最终我们仍然必须解决具体问题。在掌握了第一句原则的基础上,处理复杂性就是编程的必备功课。complex在英文的使用中就是代表不可避免的复杂。
  2. 复杂性怎样处理。复杂性应当被封装起来,封装的复杂性应当有一个明确的接口。complicated的词根与complex也是一样,的plic与plex,从字面看差不多,全折起来代表复杂。但complicated是一个动词被动式作为形容词,给人一种被弄复杂了、故弄玄虚、故意把问题复杂化的感觉。

怎样把复杂的事物弄得更复杂?

通过把事物纠缠在一起而做到,这就是complicated。

总结一下

第二句的意思,在处理不可避免的复杂结构时,应当将复杂的模块封装起来,提供清晰明确的接口。

让能够简单的事物尽量简单,让不可避免复杂事物尽量减少纠缠,是一种功力的体现。应该说,很大程度上是一种超于编程之外的功力。

真想学习编程,功夫在编程之外

从python之禅看复杂与抽象相关推荐

  1. python之禅怎么看_如何看待《Python之禅》事件?

    当我写文章的时候我就知道会有这个问题出现,本来觉得上周四.五就会出现. 直到<Python之禅>事件之你们想要的实锤 发出,对方发现这下子没法狡辩了,只能搅浑呗.当事实对你有利时,多强调事 ...

  2. python之禅怎么看_Python之禅

    Python之禅 === The Zen of Python, by Tim Peters Beautiful is better than ugly. Explicit is better than ...

  3. 关于python的漫画_以漫画的形式写写Python之禅

    #漫画# 题记:我们经常在网络或本地的软件说明文档中,看到一些图形化的字符,看上去很抽象,很简洁,造型也相对明确,是一种计算机图形艺术(美化后的线条表现),因此,小编以为,这些图形化的字符,可以理解为 ...

  4. python之禅 中文_《Python之禅》中对于Python编程过程中的一些建议

    <Python之禅>中对于Python编程过程中的一些建议 来源:中文源码网    浏览: 次    日期:2018年9月2日 [下载文档:  <Python之禅>中对于Pyt ...

  5. python之禅中文-Python之禅与翻译之美

    对于翻译,我没有什么发言权.我对翻译的了解大多来自思果先生的<翻译研究>和<翻译新究>这两本书.思果先生是著名的散文家.翻译家.说来惭愧,我还未能有幸拜读他的散文,不过只是这两 ...

  6. python基础教程书籍推荐-初学者python入门必看书籍推荐(上)

    随着最近Python的热度上涨,学习的人数也在增多,也因为Python这门语言的简短.易学.语言优美的优点,吸引了很多人来学习它.初学者想要入门,就必须先通过阅读,学习大量的理论知识对Python有一 ...

  7. python import 原理-Python之禅-import this的实现

    学过Python的人想必都听过大名鼎鼎的Python之禅: The Zen of Python, by Tim Peters Beautiful is better than ugly. Explic ...

  8. python之禅怎么关闭_《Python之禅》中对于Python编程过程中的一些建议

    围绕一门语言,学习它的文化精髓,能让你成为一名更优秀的程序员.如果你还没读过Python之禅(Zen of Python) ,那么打开Python的命令提示符输入import this,列表中的每一项 ...

  9. Python之禅——个人翻译

    看过几个版本,不怎么合心意,自己试着翻译了一下,不优雅,好在够简单. Python 之禅优雅胜于丑陋 明确胜于隐晦 简单胜于复杂 复杂胜于艰深 扁平胜于嵌套 稀疏胜于密集 可读性非常重要 就算实用优先 ...

最新文章

  1. Camera系列规格参数
  2. Android特色开发之Google MAP
  3. python下载大文件-使用请求在python中下载大文件
  4. 支撑微博千亿调用的轻量级RPC框架:Motan
  5. DL:LinearNN(numpy自定义的) solve XOR problem
  6. Vue 3响应式原理及实现
  7. js浏览器窗口大小改变时事件
  8. Linux 定位网络不通问题
  9. 自动生成代码:TensorFlow官方工具TF-Coder已开源
  10. mybatis连接mysql url_MyBatis与JDBC连接数据库所使用的url之间的差异
  11. 商业数据可视化分析基础知识
  12. JDK11 下载与安装
  13. 断面测量数据格式转换
  14. python交易是什么意思_py交易什么梗?起源及流行原因
  15. java append 报错_Append HDFS报错 is already the current lease holder
  16. 论文详解EnlightenGAN: Deep Light Enhancement Without Paired Supervision
  17. canvas 绘点图
  18. 数据结构算法---八大排序
  19. 桌面HTML更换图标,怎样更改桌面图标?更改桌面图标方法【图文详解】
  20. 【社招和校招】格灵深瞳合肥研发中心计算机视觉算法岗招聘

热门文章

  1. internet download manager(IDM下载器) 6.40
  2. 7个实用又鲜为人知的PPT技巧
  3. 硬盘串口与并口有何区别。
  4. 通过异常分数表实现微服务系统根因节点查找(包含代码示例)
  5. android扫码支付宝ofo,ofo等六大单车接入支付宝扫码
  6. python画雪花(装*)
  7. VMware Horizon 8安装部署(二)NFS共享存储
  8. 用python 修改word中表格数据,插入图片 +实例分析
  9. Java开发入门与实战!java电子书教材下载
  10. 深入理解TCP三次握手