<p>以下行:</p>
<pre><code>health1 = 'you have', hp1
</code></pre>
<p>正在创建具有两个值的<code>tuple</code>:<code>"you have"</code>和<code>100</code>(请注意,<code>hp1</code>的值是<strong><em>复制的</em></strong>,而不是<strong><em>引用的</em></strong>)。然后将这个<code>tuple</code>赋值给一个名为<code>health1</code>的新变量。你知道吗</p>
<p><code>health1</code>与<code>hp1</code>无关。如果<code>hp1</code>被覆盖、删除、扔掉,或者它发生了什么事,<code>health1</code>不在乎。你知道吗</p>
<hr/>
<p>如果您非常希望向此变量传递引用,可以围绕<code>int</code>类型创建包装类:</p>
<pre><code>class IntWrapper(object):
def __init__(self, value):
self.value = value
def __add__(self, value):
return IntWrapper(self.value + value)
def __iadd__(self, value):
self.value += value
return self
def __sub__(self, value):
return IntWrapper(self.value - value)
def __isub__(self, value):
self.value -= value
return self
def __str__(self):
return str(self.value)
def __repr__(self):
return str(self)
hp1 = IntWrapper(100)
health1 = 'you have', hp1
hp1 -= 50
print hp1 # 50
print health1 # ('you have', 50)
</code></pre>