擅长:python、mysql、java
<p>它们是非常不同的。一个集合将集合<em>更改为原来的</em>,而另一个将原始集合单独保留,并返回一个<em>copy</em>。</p>
<pre><code>>>> s = {1, 2, 3}
>>> news = s | {4}
>>> s
set([1, 2, 3])
>>> news
set([1, 2, 3, 4])
</code></pre>
<p>注意<code>s</code>是如何保持不变的。</p>
<pre><code>>>> s.update({4})
>>> s
set([1, 2, 3, 4])
</code></pre>
<p>现在我已经改变了<code>s</code>本身。还要注意,<code>.update()</code>似乎没有返回任何内容;它没有向调用方返回<code>s</code>,Python解释器也没有回显值。</p>
<p>就地更改对象的方法永远不会返回Python中的原始对象。它们的返回值总是<code>None</code>而不是(永远不会回显)。</p>