bonjour,

Envoyé par
Yuseph
on print dans la même action des variables d'instances et des variables de classe ?
cela ne change rien, une variable de classe est accessible de le même manière qu'une variable d'instance. Donc tu peux faire un code du type:
print f"{self.username}/{self.fullname} qui habite à {self.city}"

Envoyé par
Yuseph
def printout(self):
Il est possible de définir une méthode magique pour avoir un "print" de notre objet donc cette méthode n'a pas forcément à exister (même très rare)
1 2 3 4 5 6
| def __str__(self):
datas = {**vars(self), **{'ville': self.city}}
return f"{datas}"
# ou ? return f"{self.username}/{self.fullname} qui habite à {self.city}"
...
print(first_client) |
Si tu ne vois pas l'utilité d'une méthode statique, c'est que tu n'en as pas besoin. c'est quelque chose de rare et pour des classes particulières ; c'est surtout pour organiser son code :
un exemple avec Client (pas facile !!!)
1 2 3
| class Client:
@staticmethod def retourner_le_répertoire_des_clients() # change uniquement en fonction du système donc pas besoin d'un attribut de l'objet
@staticmethod def créer_client_depuis_fichier(fichier_json) # json.load() ... return Client(json.pseudo, json.non) |
Partager