Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 12/02/2018, à 20:09

kboo

redefinition de méthode, erreur pytlint

Bonjour,
J'ai un problème avec Pylint, j'essaye de redefinir une methode d'une classe mère, mais pytlint n'aime pas et je ne comprend pas pourquoi:

pylint.exe test.py
No config file found, using default configuration
************* Module test
W: 36, 4: Parameters differ from overridden 'get_voiture_info' method (arguments-differ)

------------------------------------------------------------------
Your code has been rated at 9.63/10 (previous run: 9.63/10, +0.00)

voici mon code:

# -*- coding: utf-8 -*-
"""
blabal
"""


class Voiture:
    """
    blabla
    """

    name = ""

    def __init__(self):
        """bl"""
        print("je suis une voiture, je viens d'ête cree")

    def get_voiture_info(self):
        """bl"""
        print("J'ai quatres roues et un moteur{}".format(self.name))

    def test(self):
        """lkj"""
        pass


class PSA(Voiture):
    """
    blblbl
    """
    def __init__(self):
        """bl"""
        print("ici c'est PSA")
        super().__init__()

    def get_voiture_info(self, le_type):
        """bl"""
        print("cette tuture est une de PSA de type {}".format(le_type))

    def test(self):
        """h"""
        pass


class Truc():
    """
    blllll
    """
    yop = ""

    def __init__(self):
        """bl"""
        pass

    def machin(self):
        """bl"""
        print("le bidule{}".format(self.yop))

    def test(self):
        """r"""
        pass


VOITURE = Voiture()
PSA = PSA()

PSA.get_voiture_info("C4")

# citroen = Citroen()
# citroen.machin()

Hors ligne

#2 Le 21/02/2018, à 18:13

soshy

Re : redefinition de méthode, erreur pytlint

Salut,
réponse un peu tardive, mais c'est toujours mieux que rien smile

Je pense qu'il n'aime pas le fait que la méthode qui "écrase" a un paramètre de plus que la méthode "écrasée".

def get_voiture_info(self):

et

def get_voiture_info(self, le_type):

Ces deux lignes devraient être identiques

Hors ligne