title: Python property vs method when no access to attribute is needed?
body: <p>I am reading "Python programming for the absolute beginner" and in there there is this piece of code:</p>
  
  <pre><code>@property
  def mood(self):
      unhappiness = self.hunger + self.boredom
      if unhappiness &lt; 5:
          m = "happy"
      elif 5 &lt;= unhappiness &lt;= 10:
          m = "okay"
      elif 11 &lt;= unhappiness &lt;= 15:
          m = "frustrated"
      else:
          m = "mad"
      return m
  </code></pre>
  
  <p>All it does is calculate on-the-fly and return the calculation. It doesn't provide access to a private attribute or any attribute of the class. Is this better as property rather than method?</p>