Utiliser len () et def __len __ (self): pour construire une classe

Juste curieux,

Est là toute la différence (avantages et inconvénients) entre l'utilisation de len() ou def __len__() lorsque je créer une classe? Et quel est le meilleur Python style?

   class foo(object):
      def __init__(self,obs=[])
         self.data = obs
         self.max = max(obs)
         self.min = min(obs)
         self.len = len(obs)

ou

   class foo(object):
      def __init__(self,obs=[])
         self.data = obs
         self.max = max(obs)
         self.min = min(obs)
      def __len__(self):
         return len(self.data)

source d'informationauteur Gianni Spear | 2013-02-27