title: Python calling method without 'self'
body: <p>So I just started programming in python and I don't understand the whole reasoning behind 'self'. I understand that it is used almost like a global variable, so that data can be passed between different methods in the class. I don't understand why you need to use it when your calling another method in the same class. If I am already in that class, why do I have to tell it??</p>
  
  <p>example, if I have:
  Why do I need self.thing()?</p>
  
  <pre><code>class bla:
      def hello(self):
          self.thing()
  
      def thing(self):
          print "hello"
  </code></pre>