Résolue

Erreur d'indentation sur les décorateurs en Python

# VSCode # Python

Bonjour, je ne m'explique pas cette erreur d'intentation que j'ai sur VSC MacOS sur @classmethod de def porsche(cls) et sur staticmethod de def afficher_nombre_voitures(): alors que j'ai bien contrôlé ces indentations qui sont sans erreur. c.f. ci-dessous

class Voiture:
    voiture_crees = 0
    def __init__(self, marque, vitesse, prix):
        Voiture.voiture_crees += 1
        self.marque = marque
        self.vitesse = vitesse
        self.prix = prix
    @classmethod
    def lamborghini(cls):
    @classmethod     --> **@ souligné en rouge**
    def porsche(cls):
    @staticmethod    --> **@ souligné en rouge**
    def afficher_nombre_voitures():
        print(f"Vous avez {Voiture.voiture_crees} dans votre garage")

lambo = Voiture.lamborghini()
porsche = Voiture.porsche()
Voiture.afficher_nombre_voitures()

Merci d'avance pour le retour

Gabriel Trouvé

Mentor

Salut Francis,

En fait il manque le corps des méthodes de classe.
J'ai juste rajouté 3 petits points. Tu pourrais mettre pass si tu veux aussi à la place, en attendant de voir ce que tu veux mettre :).

class Voiture:
    voiture_crees = 0
    def __init__(self, marque, vitesse, prix):
        Voiture.voiture_crees += 1
        self.marque = marque
        self.vitesse = vitesse
        self.prix = prix
    @classmethod
    def lamborghini(cls):
        ...
    @classmethod    
    def porsche(cls):
        ...
    @staticmethod
    def afficher_nombre_voitures():
        print(f"Vous avez {Voiture.voiture_crees} dans votre garage")

lambo = Voiture.lamborghini()
porsche = Voiture.porsche()
Voiture.afficher_nombre_voitures()

C'est ok pour toi ?

C'est clair
Merci Gabriel

Gabriel Trouvé

Mentor

De rien c'est normal

Bonne journée :)

Inscris-toi

(c'est gratuit !)

Inscris-toi

Tu dois créer un compte pour participer aux discussions.

Créer un compte

Rechercher sur le site

Formulaire de contact

Inscris-toi à Docstring

Pour commencer ton apprentissage.

Tu as déjà un compte ? Connecte-toi.