未来iPhone可能会采用屏下光线传感器
|
其基本观点是:不能光顾着解决一个问题/实现某种功能,就引入缺乏“Pythonicity”的语言设计。 那么,为什么 Guido 会认为这是一种不好的设计呢? 我试着概括一下,理由是:
简而言之,他认为简洁友好的用户体验更为重要,如果简洁的语法无法满足需求,就应该写成具名函数的形式,而非设计出复杂的匿名函数。 3. 为什么 Guido 想移除 lambda? 上文提到的多行 lambda 语句(multi-statement lambda)事件发生在 2006 年,我们看到了 Guido 不想给 lambda 引入复杂设计的原因。 但是,早在 2005 年,Guido 就曾经想要从 Python 移除 lambda,他对它的“嫌弃”是一个“历史悠久”的传统…… 在《The fate of reduce() in Python 3000》这篇短文中,Guido 提出要一次性移除 reduce()、map()、filter() 以及 lambda。 移除 lambda 的理由如下:
那么,为什么 Guido 觉得应该移除那几个高阶函数呢? 主要的理由有:
总体而言,Guido 的想法暗合了《The Zen of Python》中的这一条:There should be one-- and preferably only one --obvious way to do it。 但是回到现实,为了照顾某些人的习惯,以及对兼容性的考虑,Guido 最后保守地放弃了“清理异端”的计划。 因此,lambda 得以从 Python 最高独裁者的手上死里逃生。直到一年后,它试图兴风作浪(多行表达式),却惨遭镇压。
我仿佛听到了 Guido 的内心 OS:当初我想删除东西的时候,你们百般阻挠,现在你们想添加东西,哼,没门!…… (编辑:阳江站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
