title: What does *= mean in Python and why is it used over =?
body: <p>I'm currently going through Codecademy's Python course, and am currently learning functions. In one of the snippets of code they give you, it says:</p>
  
  <pre><code>def tax(bill):
      """Adds 8% tax to a restaurant bill."""
      bill *= 1.08
      print "With tax: %f" % bill
      return bill
  
  def tip(bill):
      """Adds 15% tip to a restaurant bill."""
      bill *= 1.15
      print "With tip: %f" % bill
      return bill
  
  meal_cost = 100
  meal_with_tax = tax(meal_cost)
  meal_with_tip = tip(meal_with_tax)
  </code></pre>
  
  <p>Everything makes complete sense, except for bill *= 1.15 and bill *= 1.08. I know <em>why</em> they are what they are, however, I don't understand why they need an asterisk in front of the =. If I were to have written this, I would have just put bill = 1.15 and bill = 1.08. Why would that be wrong?</p>