title: Which is better stylistically in a pass-by-reference language. Returning a variable and reassigning, or not returning a variable?
body: <p>For example: (Not reassigning)</p>
  <pre><code>def doStuff(someDictionary):
      addValue(someDictionary)
      removeSomething(someDictionary)
  
  someDictionary = {1 : 'A', 2 : 'B'}
  doStuff(someDictionary)
  print(someDictionary)
  </code></pre>
  <p>Or (Reassigning)</p>
  <pre><code>def doStuff(someDictionary):
      someDictionaryAdded = addValue(someDictionary)
      someDictionaryRemoved = removeSomething(someDictionaryAdded)
      return someDictionaryRemoved
  
  someDictionary = {1 : 'A', 2 : 'B'}
  someDictionaryStuffHappened = doStuff(someDictionary)
  print(someDictionaryStuffHappened)
  </code></pre>
  <p>Which of these 2 methods are better in terms of style and clarity? Is there a significant performance difference that i need to consider as well?</p>
  <p>Thank you.</p>