Résolue

Analyse du module List et de ses méthodes

# Python # Classes
Bonsoir Gabriel, Voici la structure de mon module lib
0) Que penses-tu de la variable de class "nbr_liste"
1) ...le choix des @classmethod et @staticmethod ?
2) ... la proposition des 3 autres méthodes ("viderliste"/"mesListes"/"quitter")
Merci d'avance pour ton support. Cdlt.
"""Module gérant la classe List 
   ainsi que les méthodes et attribus associées
"""
import os
import json
import constants

from dataclasses import dataclass
from typing import ClassVar

@dataclass
class Liste(list):
    nom: str
    nbr_liste: ClassVar[int] = cpt # cpt importé d'une sauvegarde json ?

    @classmethod
    def ajouter(self, item):
        pass

    @classmethod
    def enlever(self, item):
        pass

    @staticmethod
    def afficher(self):
        pass

    @staticmethod
    def sauvegarder(self):
        pass

"""Vider la liste ?: "viderliste"
"""

"""Afficher le nom de toutes mes listes ?: "MesListes"
"""

"""Quitter l'application ?: "Quitter"
"""

if __name__ == "__main__":
    pass

Gabriel Trouvé

Mentor

Salut Sony,

Je vois plusieurs problèmes ici.

  • A voir comment tu vas mettre à jour nbr_liste. Je l'aurais nommé de manière différente et plus explicite. Quel mécanisme va mettre l'attribut à jour ?

  • Pour tes static et class méthodes, tu utilises self en premier argument. Ce qui n'est pas bon. Pour une class méthode, tu dois faire référence à la classe pas à l'instance. Et une méthode statique ni l'un, ni l'autre.

  • Pourquoi ne pas utiliser directement des méthodes d'instances ? surtout que ajouter, enlever, afficher c'est en rapport avec une instance.

A la limite tu peux essayer de faire ça sans dataclass pour commencer.

N'hésites pas si besoin !

Merci beaucoup Gabriel pour ton retour.
En effet, j'ai voulu mettre en application direct les derniers cours suivis.
Mais là, on fera le "KISS" et on respectera strictement les consignes du projet. :)

Oh pas de soucis :)

Revois bien le passage sur l'utilisation des static et class method. Dans quel contexte les utiliser.

N'hésites pas si tu as des questions ^^

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.