title: Overriding a static method in python
body: <p>Referring to the <a href="https://stackoverflow.com/questions/114214/class-method-differences-in-python-bound-unbound-and-static/114267#114267">first answer</a> about python's bound and unbound methods here, I have a question:</p>
  
  <pre><code>class Test:
      def method_one(self):
          print "Called method_one"
      @staticmethod
      def method_two():
          print "Called method_two"
      @staticmethod
      def method_three():
          Test.method_two()
  class T2(Test):
      @staticmethod
      def method_two():
          print "T2"
  a_test = Test()
  a_test.method_one()
  a_test.method_two()
  a_test.method_three()
  b_test = T2()
  b_test.method_three()
  </code></pre>
  
  <p>produces output:</p>
  
  <pre><code>Called method_one
  Called method_two
  Called method_two
  Called method_two
  </code></pre>
  
  <p>Is there a way to override a static method in python?</p>
  
  <p>I expected <code>b_test.method_three()</code> to print "T2", but it doesn't (prints "Called method_two" instead).</p>