#1 Le 07/04/2021, à 10:32
- chris7522

[Resolu]Enregistrement implémenté comme une instance de classe(python)
Bonjour a toutes et a tous,
J'ai essayé de mettre tout ca dans le meme fichier tel quel , mais j'ai un message d'erreur . Qu'est ce qui ne va pas ?
Merci de votre aide.
class Personne:
def _init_(self,name,age,email):
self.name=name
self.age=age
self.email=email
def _repr_(self):
return f" {self.name} a {self.age},email : {self.email}"
personnes = [
Personne('Luc',24,'luc@gmail.com'),
Personne('Jean',35,'jean@gmail.com'),
Personne('stephane',54,'steph@gmail.com'),
]
for personne in personnes:
print(personne)Dernière modification par chris7522 (Le 07/04/2021, à 15:21)
Hors ligne
#2 Le 07/04/2021, à 10:41
- Nuliel

Re : [Resolu]Enregistrement implémenté comme une instance de classe(python)
Hop, le code corrigé:
class Personne:
def __init__(self,name,age,email):
self.name=name
self.age=age
self.email=email
def __repr__(self):
return f" {self.name} a {self.age},email : {self.email}"
personnes = [
Personne('Luc',24,'luc@gmail.com'),
Personne('Jean',35,'jean@gmail.com'),
Personne('stephane',54,'steph@gmail.com'),
]
for personne in personnes:
print(repr(personne))Deux trois problèmes:
- personnes était dans la classe alors qu'il devait être à l'extérieur
- c'est __init__ et non _init_
- print(personne) va pas appeler repr, il faut donc l'appeler en plus
[ poster un retour de commande ] [ poster une photo ]
Thinkpad x220, Dell latitude E7270 (i7 6600U, 16 Go de RAM, ...), Thinkstation E32 modifié: i5-4570, GTX 1060 6 Gb, 16 Gb de RAM, ...
Mon nouveau blog: nuliel.fr
Hors ligne
#3 Le 07/04/2021, à 11:25
- pseudofab

Re : [Resolu]Enregistrement implémenté comme une instance de classe(python)
Bonjour,
- print(personne) va pas appeler repr, il faut donc l'appeler en plus
s'il n'existe pas de méthode __str__ dans la classe(comme c'est le cas ici), le print appelle la méthode __repr__.
S'il y avait une méthode __str__ c'est elle qui serait appelée par défaut... ![]()
# Là pour le plaisir de découvrir ...
# Envie d'apprendre Bash ou Python? Pensez aux MOOC ---> https://forum.ubuntu-fr.org/viewtopic.php?id=2030646
Hors ligne
#4 Le 07/04/2021, à 12:21
- Nuliel

Re : [Resolu]Enregistrement implémenté comme une instance de classe(python)
Exact, je me suis planté pendant mes tests, j'avais pas dû mettre à ce moment les _ sur repr (ça m'affichait les addresses des objets)
Dernière modification par Nuliel (Le 07/04/2021, à 12:22)
[ poster un retour de commande ] [ poster une photo ]
Thinkpad x220, Dell latitude E7270 (i7 6600U, 16 Go de RAM, ...), Thinkstation E32 modifié: i5-4570, GTX 1060 6 Gb, 16 Gb de RAM, ...
Mon nouveau blog: nuliel.fr
Hors ligne
#5 Le 07/04/2021, à 15:20
- chris7522

Re : [Resolu]Enregistrement implémenté comme une instance de classe(python)
C'est bien claire pour moi ![]()
Merci de votre aide
Hors ligne