title: Using explicit del in python on local variables
body: <p>What are the best practices and recommendations for using explicit <code>del</code> statement in python? I understand that it is used to remove attributes or dictionary/list elements and so on, but sometimes I see it used on local variables in code like this:</p>
  
  <pre><code>def action(x):
      result = None
      something = produce_something(x)
      if something:
          qux = foo(something)
          result = bar(qux, something)
          del qux
      del something
      return result
  </code></pre>
  
  <p>Are there any serious reasons for writing code like this?</p>
  
  <p>Edit: consider <code>qux</code> and <code>something</code> to be something "simple" without a <code>__del__</code> method.</p>