#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
Hors ligne
#3 Le 07/04/2021, à 11:25
- Compte supprimé
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...
#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)
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