title: AttributeError: 'NoneType' object has no attribute 'append'
body: <p>I have a weird problem with python passing a list as parameter to a function. Here is the code:</p>
  
  <pre><code>def foobar(depth, top, bottom, n=len(listTop)):
      print dir(top)
      print top.append("hi")
      if depth &gt; 0:
          exit()
      foobar(depth+1, top.append(listTop[i]), bottom.append(listBottom[i]))
  
  top = bottom = []
  foobar(0, top, bottom)
  </code></pre>
  
  <p>It says "AttributeError: 'NoneType' object has no attribute 'append'", because top is None in foobar although dir(top) prints a full attribute and method list of a type list.
  So whats wrong? I just wanted to pass two lists as parameters to this recursive function.</p>