Python newbie - Understanding class functions
<p>If you take the following simple class:</p>

<pre><code>class AltString:

    def __init__(self, str = "", size = 0):
        self._contents = str
        self._size = size
        self._list = [str]

    def append(self, str):
        self._list.append(str)

    def output(self):
        return "".join(self._list)
</code></pre>

<p>And I successfully invoke the class instance using:</p>

<pre><code>as = AltString("String1")

as.append("String2")

as.append("String3")
</code></pre>

<p>When I then invoke the <code>output</code> function using <code>as.output</code> instead of a string being returned, I get the following instead: </p>

<pre><code>unbound method AltString.output
</code></pre>

<p>if I call it using <code>as.output()</code> I get the following error:</p>

<pre><code>TypeError: unbound method output() must be called with
  AltString instance as first argument (got nothing instead)
</code></pre>

<p>What I am not doing right?</p>
