Afficher des attributs de classe avec print

Résolu
thestraw0 Messages postés 4 Date d'inscription   Statut Membre Dernière intervention   -  
mamiemando Messages postés 33769 Date d'inscription   Statut Modérateur Dernière intervention   -

Bonjour,

Je suis en terminale, et je n'arrive pas à afficher les attributs de ma classe.

À l'aide ! Merci

A voir également:

4 réponses

NHenry Messages postés 15219 Date d'inscription   Statut Modérateur Dernière intervention   365
 
1
mamiemando Messages postés 33769 Date d'inscription   Statut Modérateur Dernière intervention   7 879
 

Bonjour

Concernant #3 :

Ce n'est pas une excuse :

  • le forum te permet de modifier les messages que tu as écrits (clique sur les "..." en bas du message).
  • ton navigateur devrait souligner la plupart des fautes d'orthographe

Concernant #1 :

Tu confonds classe (le type associé à un objet) et instance (une variable dont le type est cette classe).

  • Personnage est une classe.
    • Les conventions de programmation font que le nom d'une classe devrait toujours commencer par une majuscule.
  • Spiderman est une instance de Personnage (au même titre que Hulk ou Batman)
    • Les conventions de programmation font que le nom d'une variable (en particulier, une instance de classe) devrait toujours commencer par une minuscule.
  • Dans le code d'une méthode (par exemple __init__), l'instance en train d'être manipulée est désignée par self.
  • À l'extérieur du code d'une classe, on peut accéder à un attribut ou à une méthode en appliquant l'opérateur "." à l'instance de son choix
class Personnage:
    def __init__(self, prenom: str, nom: str):
        self.nom = nom
        self.prenom = prenom

spiderman = Personnage("Peter", "Parker")
batman = Personnage("Bruce", "Wayne")
print(spiderman.prenom)
print(spiderman.nom)

Bonne chance

1
couvor
 

Bonsoir, il est préférable d'insérer du code dans ton message plutôt que des images, et sur internet lorsqu'on écrit en majuscules, c'est pour crier (-;

Les classes n'ont pas d'attributs, en revanche les objets qui existeront après instanciations de tes classes, possèderont eux, oui des attributs.

Il faut bien comprendre la différence entre classes et objets, attributs d'objets et variables de classes.

class A:
    var_b = 'variable b'
    def __init__(self):
        self.b = 'attribut b'

print(A.var_b) # Variable de classe
# print(A.b) # Erreur !

a = A()
print(a.var_b)
print(a.b)
0
thestraw0 Messages postés 4 Date d'inscription   Statut Membre Dernière intervention  
 

Oui désolé je n'ai pas fait attention que j'étais en majuscules. De plus on peut le remarquer aux fautes d'orthographe. Désolé

0