擅长:python、mysql、java
<p>同样的“反向”方法是将案例分成不同的功能,并将它们映射出来。它没有那么神奇,但看起来更具可读性。在</p>
<pre><code>def strip_obj(obj):
return obj.strip()
def strip_tuple(tuple):
return tuple(recurse(obj) for obj in tupl)
...
def recurse(root):
actions = {basetype: strip_obj,
tuple: strip_tuple,
...}
return actions[type(root)](root)
</code></pre>
<p>请注意,对于iterables,您可以使用<code>map</code>进行“功能化”,但我个人认为它过于密集。类似地,您可以通过在这些<code>actions</code>值中使用<code>lambda</code>来获得您的元juju,但同样地,它对于可读性来说并不是很好。在</p>