Programme chap4_classe_990_.py


# coding: latin-1
class point_espace:
    def __init__ (self, x,y,z):
        self._x, self._y, self._z = x,y,z
    def __str__(self):
        return "(%f,%f,%f)" % (self._x, self._y, self._z)
    def __getitem__(self,i):
        if i == 0 : return self._x
        if i == 1 : return self._y
        if i == 2 : return self._z
        # pour tous les autres cas --> erreur
        raise IndexError ("indice impossible, 0,1,2 autorisés")

    def __iter__(self):
        """itérateur avec yield (ou générateur)"""
        _n = 0
        while _n <= 2 :
            yield self.__getitem__ (_n)
            _n += 1

a = point_espace (1,-2,3)
for x in a:
    print x      # affiche successivement 1,-2,3

créé avec py2html version:0.62