擅长:python、mysql、java
<p><strong>既然惯用代码不会产生副作用,为什么还要创建一个(可能非常昂贵)副本?</strong>为什么要禁止(罕见的,但现有的)需要副作用的用例?在</p>
<p>Python首先是一种命令式语言。可变状态不仅是被允许的,而且是必不可少的——是的,列表理解的目的是纯粹的,但是如果强制执行,它将与语言其他部分的语义不同步。所以<code>d.pop()</code>突变{<cd2>},但前提是它不在列表理解中,而且星星是对的?那是毫无意义的。您可以自由地(并且应该)不使用它,但是没有人会在石头上设置更多的规则并使特性更加复杂—惯用代码(这是所有人应该关心的唯一代码<code>;)</code>)不需要这样的规则。不管怎样,它都会这样做,如果需要的话,它也会这样做。在</p>