擅长:python、mysql、java
<p>这是我的解决方案。它也使整数也可迭代。在</p>
<pre><code>import ctypes
class MutableInt(int):
def __init__(self, val = 0):
self._val = val
def __int__(self):
return self._val
def __index__(self):
return self._val
def __str__(self):
return str(self._val)
def __repr__(self):
return repr(self._val)
def __iter__(self):
self._iter_cnt = 0
return self
def __next__(self):
if self._iter_cnt == 0:
self._iter_cnt = 1
return self._val
else:
raise StopIteration
def set(self, val):
self._val = val
ob_digit = ctypes.c_long.from_address(id(self)+24)
ob_digit.value = val
</code></pre>