class Etageres(object): def __init__(self): self.etageres=[] self.nbetagere=0 def add_etagere(self,largeur,hauteur): self.etageres.append(Etagere(largeur,hauteur,self)) self.nbetagere+=1 class Etagere(object): def __init__(self,largeur,hauteur,etageres): self.largeur=largeur self.hauteur=hauteur self.etageres=etageres self.bouteilles =[] def add_bouteille(self,pos_largeur,pos_hauteur,couleur,appelation,millesime): self.bouteilles.append(Bouteille(pos_largeur,pos_hauteur,couleur,appelation,millesime,self)) def remove_bouteille(self,pos_largeur,pos_hauteur): pass class Bouteille(object): def __init__(self,pos_largeur,pos_hauteur,couleur,appelation,millesime,etagere): self.pos_largeur=pos_largeur self.pos_hauteur=pos_hauteur self.couleur=couleur self.appelation=appelation self.etagere=etagere def __repr__(self): return "bouteille: pos_largeur({}), pos_hauteur({}), couleur({}),appelation'({}),".format(self.pos_largeur, self.pos_hauteur, self.couleur,self.appelation) new=Etageres() new.add_etagere(30,3) new.etageres[0].add_bouteille(28,2,"rouge","saint emilion",2005) print (new.etageres[0].bouteilles)