Comment puis-je utiliser la surcharge de méthode en Python?

Je suis en train de mettre en œuvre la méthode de surcharge en Python:

class A:
    def stackoverflow(self):    
        print 'first method'
    def stackoverflow(self, i):
        print 'second method', i

ob=A()
ob.stackoverflow(2)

mais la sortie est second method 2; de la même façon:

class A:
    def stackoverflow(self):    
        print 'first method'
    def stackoverflow(self, i):
        print 'second method', i

ob=A()
ob.stackoverflow()

donne

Traceback (most recent call last):
  File "my.py", line 9, in <module>
    ob.stackoverflow()
TypeError: stackoverflow() takes exactly 2 arguments (1 given)

Comment puis-je faire ce travail?

InformationsquelleAutor user1335578 | 2012-04-18