Analyse du module List et de ses méthodes
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
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,afficherc'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 !
Inscris-toi
(c'est gratuit !)
Tu dois créer un compte pour participer aux discussions.
Créer un compte