J'ai créé une jolie classe standard pour les invités qui participeront à un événement (avec leurs partenaires/enfants).python3 imprimer la valeur d'un argument pour une classe
class Guest:
def __init__(self, name, adult, child, infant):
self.name = name
self.adult = adult
self.child = child
self.infant = infant
et a ajouté plusieurs objets à lui:
adam_s = Guest('Adam Smith', 2, 0, 1)
sandra_b = Guest('Sandra Bind', 2, 0,1)
alince_d = Guest('Alice Donovan',2,0,0)
parents_smith = Guest('Mr&Ms Smith', 2,0,0)
J'ajouterons de plus en plus d'objets à cette classe. À tout moment, j'aimerais pouvoir additionner le nombre de tous les adultes, enfants et nourrissons pour tous les objets utilisant la classe Invité.
J'ai essayé, ce qui suit mais le résultat n'est pas ce que je voulais (ne me donnant pas les valeurs réelles pour chaque attribut).
for attr,value in vars(Guest).items():
print(attr, value)
Il est probablement une question très nooby mais je cherchais depuis un certain temps et je ne pouvais pas trouver une solution.
Vous n'allez pas ajouter d'objets à la classe si ... vous créez de nouvelles instances de la classe avec certaines informations. Vous pouvez stocker ces instances dans une liste telle que 'guests = [adam_s, sandra_b, alince_d]' etc ... et ensuite vous pouvez faire une boucle sur celles-ci et les calculs de performance etc ... par exemple: 'sum (g.adult pour g dans invités) 'pour obtenir le compte des invités adultes ... –