<p>您所做的被称为浅拷贝,只是Python的工作方式<a href="https://realpython.com/copying-python-objects/" rel="nofollow noreferrer">Here is a link with documentation/explanation.</a>以下是该网站的定义</p>
<blockquote>
<p>A shallow copy means constructing a new collection object and then populating it with references to the child objects found in the original. In essence, a shallow copy is only one level deep. The copying process does not recurse and therefore won’t create copies of the child objects themselves.</p>
<p>A deep copy makes the copying process recursive. It means first constructing a new collection object and then recursively populating it with copies of the child objects found in the original. Copying an object this way walks the whole object tree to create a fully independent clone of the original object and all of its children.</p>
</blockquote>
<hr/>
<p><strong>我的简短tl;dr解释。</strong></p>
<p>名为<strong><code>electron</code></strong>的变量指向一个特定的内存位置,我们称之为<code>abcd1234</code></p>
<p>设置<strong><code>positron=electron</code></strong>时,只需将<strong><code>positron</code></strong>变量名指向与<strong><code>electron</code></strong>相同的内存位置(<code>abcd1234</code>)</p>
<hr/>
<p><strong>如何解决此问题</strong></p>
<p>或者实例化一个单独的对象</p>
<p>或</p>
<p>使用<strong><code>copy</code></strong>库避免意外的浅拷贝</p>
<pre class="lang-py prettyprint-override"><code>import copy
electron=particule("e-",0.511)
positron=copy.deepcopy(electron)
electron.name="e+"
print(positron.name , electron.name) #I get e-,e+
</code></pre>
<hr/>
<p><a href="https://www.programiz.com/python-programming/shallow-deep-copy#copy-in-python" rel="nofollow noreferrer"><strong>Here is another link for reference</strong></a></p>
<p><strong>希望这有帮助</强></p>