2 votes

Pourquoi Visual Studio Code insère-t-il "return super().__init__(self)" dans la classe dérivée ?

Je comprends que __init__() est nécessaire pour retourner None mais lorsque Visual Studio autocomplète une classe dérivée __init__() pour moi, ça se passe comme ça :

class Base:
    def __init__(self):
        print('Base')

class Derived(Base):
    def __init__(self):
        return super().__init__()  # This part is added by VS Code

Il ne s'agit manifestement pas d'un problème de syntaxe, car la Base __init__ est de retour None que la classe dérivée renvoie à son tour.

Mais pourquoi s'embêter à avoir ça ? À quoi sert l'instruction de retour ici ?

2voto

Michael Kolber Points 168

Conformément à Commentaire de @Simeon Visser Le code VS semble le faire pour toutes les méthodes héritées et ne fait pas de distinction entre les méthodes de type __init__() et d'autres méthodes. Un problème a déjà déposé dans le répertoire du serveur de langue Python. La question a été fixé .

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X