J'essaie de comprendre ce qui ne fonctionne pas dans ce code:Module Python Cmd, problème de sous-classement
#!/usr/bin/python
import cmd
class My_class (cmd.Cmd):
"""docstring for Twitter_handler"""
def __init__(self):
super(My_class, self).__init__()
if __name__ == '__main__':
my_handler = My_class()
Voici l'erreur que je reçois
Traceback (most recent call last):
File "main.py", line 12, in <module>
my_handler = My_class()
File "main.py", line 9, in __init__
super(My_class, self).__init__()
TypeError: super() argument 1 must be type, not classobj
Si je change la superclasse de « my_class "à un objet cela fonctionne bien. Où vais-je mal?
Est-ce parce que le module cmd est réécrit en Python 3? – Teifion
Non. C'est parce que dans Python 3.0, toutes les classes sont des "classes de style nouveau". – Stephan202
(En fait, un diff entre les cmd.py 2.5 et 3.0 vous montrera que très peu de changements ont été faits entre ces versions.) – Stephan202