Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/359.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 什么是;复杂总比复杂好;什么意思?_Python - Fatal编程技术网

Python 什么是;复杂总比复杂好;什么意思?

Python 什么是;复杂总比复杂好;什么意思?,python,Python,在蒂姆·彼得斯的《Python禅宗》中,“复杂胜于复杂”这句话让我感到困惑。有人能给出更详细的解释或例子吗 复杂:做很多事情。通常不可避免 复杂:难以理解 我喜欢这句话(): 复杂的人就像iPod。那个 就是说它们是一致的,, 直截了当且“用户友好” 同时也相当老练。 不像复杂的人, 与一个复杂的人互动确实很重要 不需要特别了解他们的 复杂的方式是因为他们的方式 它们并不复杂。当错误发生时 如果你成功了,他们往往会非常宽容 因为他们明白 它们是不完美的。简言之,它们是 成熟、理智的人 而这个()

在蒂姆·彼得斯的《Python禅宗》中,“复杂胜于复杂”这句话让我感到困惑。有人能给出更详细的解释或例子吗

复杂:做很多事情。通常不可避免

复杂:难以理解

我喜欢这句话():

复杂的人就像iPod。那个 就是说它们是一致的,, 直截了当且“用户友好” 同时也相当老练。 不像复杂的人, 与一个复杂的人互动确实很重要 不需要特别了解他们的 复杂的方式是因为他们的方式 它们并不复杂。当错误发生时 如果你成功了,他们往往会非常宽容 因为他们明白 它们是不完美的。简言之,它们是 成熟、理智的人

而这个():

空客A380是复杂的。A. 水母很复杂。巴黎地铁 网络是复杂的。人们如何使用 这是复杂的。你的骨架是 复杂。你很复杂。A. 建筑是复杂的。城市是 复杂的

更多关于这方面的文章:


    • 我还没有读过这本书

      在我看来,complex是一个不容易理解的解决方案,但它是用简单的逻辑代码编写的


      复杂的解决方案可能很简单(或复杂),但其代码不易理解,因为其中没有模式或逻辑,也没有适当的隐喻和命名。

      虽然复杂和复杂听起来很相似,但在本文中它们的含义并不相同

      因此,Zen说:只要需求合理,构建非常复杂的应用程序是可以的

      举个例子:

      counter = 0
      while counter < 5:
         print counter
         counter += 1
      
      此代码比上面的示例更复杂。但是:了解“xrange”的文档,您只需一眼就能理解它。许多步骤隐藏在易于使用的界面后面

      随着流程越来越大,复杂和复杂之间的差距越来越大

      一般的经验法则是遵循Python禅宗的其他原则:

      如果很难解释,那就不是个好主意


      如果很容易解释的话,这可能是个好主意。

      复杂的系统是高度耦合的,因此很脆弱

      复杂的系统由简单的部分组成,这些部分一起运行,以创建复杂的紧急行为。虽然紧急行为仍然是一个挑战,但是可以隔离、研究和调试各个部分。单个零件可以拆下并重新使用

      我对这个话题进行了更多的评论,并为“复杂”提供了一些例子,困难在于表面。(你的描述很复杂。)

      对于“复杂”来说,困难就在桌子底下。(汽车是复杂的。)


      正如EinLama的示例所示。

      根据Pro Python第三版:

      就本指南而言,大多数情况下倾向于以下观点: 两个任期: •复杂:由许多相互连接的部件组成 •复杂:复杂到难以理解 因此,面对需要跟踪大量内容的界面, 更重要的是尽可能保持简单。这可以采取以下形式: 将方法合并到数量较少的对象上,可能是分组对象 更符合逻辑的安排,甚至只是确保使用使 无需深入代码就能理解它们

      因此,正如书中所说,您需要使代码和文件更有条理,并尽可能使用最易读的名称来定义变量/函数

      事实上,人们接受的最佳答案更可能描述上面的规则:

      简单总比复杂好

      以下是本书中“简单胜于复杂”的片段示例:

      if value is not None and value != ":
      if value:
      

      显然,第二行比第一行更简单,也更容易操作,而且更有可能使用最佳答案示例代码。

      复杂:需要大量脑汁(您的内部CPU)来解决。但一旦你解决了它,你就知道它是对的。解一道数学题很复杂。一旦完成,你很容易再做一次。但对你的朋友来说又很难

      复杂:需要很多直觉来解决(你积累的经验)。一旦你选择了一条路,你就不能确定这是最好的。人际关系是复杂的。再次这样做对你来说仍然是一个挑战。但是跟随你的人(阅读你的代码…)可以很容易地跟随你

      算法旨在解决复杂的问题

      机器学习旨在找到复杂问题的答案

      算法是可预测的。深度学习提出了关于为什么计算机决定选择特定答案的可解释性问题


      现在是你回答的时候了:你的问题是复杂还是复杂

      这不是一本书,“导入这个”,你可以看到it@flycondorthanx,现在更有意义了啊,我和Abe在这件事上是一致的。一些明显告诉我要使我的作品易于理解的东西很难理解。嗯,我想。@Malvolio请给我解释一下你发现什么这么难理解?我想我说得很简单。你的话对我来说毫无意义。飞机是X,水母是Y。那是什么意思?飞机是人造的,所以它当然更容易理解,因为我们可以问制造它的人它应该如何工作;分析水母只能凭经验。这就是我应该画的区别吗?一栋建筑和一座城市怎么样。这似乎是规模上的差异,但几乎没有其他。基本上,我不知道我应该从这些并置中学到什么。@Malvolio我同意你的观点,A380可以被认为是复杂的,
      if value is not None and value != ":
      if value: