J'ai joué avec des classes de surcharge ou de masquage en Python. Est-ce que les exemples de code suivants créent des classes équivalentes?Créer des classes équivalentes en Python?
class CustASample(object):
def __init__(self):
self.__class__.__name__ = "Sample"
def doSomething(self):
dummy = 1
et
class Sample(object):
def doSomething(self):
dummy = 1
EDIT: D'après les commentaires et la bonne réponse et par gs, elle a eu lieu pour moi, que je voulais vraiment demander: Qu'est-ce que « attributs » font ces classes diffèrent?
Parce que
>>> dir(a) == dir(b)
True
et
>>> print Sample
<class '__main__.Sample'>
>>> print CustASample
<class '__main__.Sample'>
mais
>>> Sample == CustASample
False
Vous pouvez utiliser des classes de style nouveau qui héritent de l'objet. –
Que signifie «équivalent» pour vous? Avez-vous des cas de test? –