title: Python property decorator usage in methods
body: <p>Kind of torn between this. This is not a question about how property works, rather it's usage. I do understand that property can be used to get, set, delete attributes. But my question is, is it OK to use it for actions or methods when I know that the method is never going to have any parameters ?
  Reason for doing that - I feel it is more intuitive </p>
  
  <p>Here is what I mean,</p>
  
  <pre class="lang-py prettyprint-override"><code>Class Dancer(object):
      def __init__(self, name):
          self._name = name
  
      #this would be a typical use case
      @property
      def name(self):
         return self._name
  
      #is this ok ? 
      @property
      def dance(self):
         print("moves like jagger")
         return self
  
  dancer = Dancer("levine")
  print(dancer.name)
  dancer.dance    #why not ?
  
  </code></pre>
  
  <p>I started doing this for a project of mine (only for cases where it made sense). But started receiving backlash for doing that ? What is wrong with this ? Any thoughts, suggestions ?</p>
  
  <p>P.S. I know that such methods will never have parameters</p>