擅长:python、mysql、java
<p>有很多方法可以缩短它,我将编写另一个助手函数:</p>
<pre><code>from functools import wraps
def unpack(rng, fn, propertize=False):
for i in rng:
@wraps(fn)
def wrapper(*args, __i=i, **kwargs):
return fn(*args, **kwargs)[i]
yield property(wrapper) if propertize else wrapper
</code></pre>
<p></p>
<pre><code>class Something:
hemisphere, degrees, minutes, seconds = unpack(
range(4), Something._correction, propertize=True
)
</code></pre>