Afficher des attributs de classe avec print

Résolu/Fermé
thestraw0 Messages postés 4 Date d'inscription mercredi 12 octobre 2022 Statut Membre Dernière intervention 12 octobre 2022 - Modifié le 17 oct. 2022 à 14:48
mamiemando Messages postés 32790 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 4 décembre 2023 - 13 oct. 2022 à 00:21

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 15090 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 6 novembre 2023 326
12 oct. 2022 à 21:33

Pour espérer avoir une réponse, il serait bien de commencer par écrire sans crier, l'urgence est pour toi, pas pour nous.

Voici quelques liens à explorer avant de continuer :

https://codes-sources.commentcamarche.net/contents/11-charte-de-commentcamarche-net-conseils-d-ecriture

https://www.commentcamarche.net/infos/25899-forum-ccm-mode-d-emploi-demander-de-l-aide-pour-un-exercice/

https://codes-sources.commentcamarche.net/faq/10686-le-nouveau-codes-sources-comment-ca-marche#balises-code


J'interviens principalement en VB6, VB.NET et C#, mais la modération m'amène souvent sur d'autre langages.
En VB.NET pensez à activer "Option Explicit" et "Option Strict".

1
mamiemando Messages postés 32790 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 4 décembre 2023 7 686
Modifié le 13 oct. 2022 à 00:22

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

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 mercredi 12 octobre 2022 Statut Membre Dernière intervention 12 octobre 2022
Modifié le 13 oct. 2022 à 00:25

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