Appeler une méthode depuis une "classmethod"
Salut à tous,
Un exemple vaut mieux qu'un long discours :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
| class Bidule:
attr = "123"
def __init__(self):
print "fonction init"
@classmethod
def classmet(cls):
print "fonction classmet", cls.attr
cls.machintruc() # problème ici
def machintruc(self):
print "fonction machintruc", self.attr
Bidule().machintruc() # OK
print "---"
Bidule.classmet() # erreur :( |
J'ai une classe "Bidule" dont la classmethod "classmet" doit appeler la méthode "machintruc", sauf que ça marche pas. L'erreur renvoyée est la suivante :
Code:
1 2 3 4 5 6
| Traceback (most recent call last):
File "essai.py", line 18, in <module>
Bidule.classmet()
File "essai.py", line 11, in classmet
cls.machintruc()
TypeError: unbound method machintruc() must be called with Bidule instance as first argument (got nothing instead) |
Savez-vous ce qui ne va pas ?
Merci d'avance ;)
-