Why does this output occur?
<pre><code>def function(s):
 if len(s) == 1:
    print s[0],
 else:
    function(s[1:])
    print s[0],
</code></pre>

<p><code>function("1234")</code> ends up printing <code>4  3  2  1</code></p>

<p>Why does this happen? In the function, obviously the first condition is not met. In the else condition, <code>s[1:]</code> is put in for s, yet its length is not 1. I just don't see how anything outside of <code>s[0]</code> would be printed to the screen. There's nothing in that function that looks like it'd print <code>s[1:]</code>, let alone in reverse. I'm pretty confused.</p>
