Lista 10-14: Clase Nombre (nombre.py)

##############################################################################
# Parte del libro Introducción a la programación con Python
# Autor: Nilo Ney Coutinho Menezes
# Editora Novatec (c) 2015 - ISBN 978-85-7522-250-8
# Primera edición - Mayo/2016
# Sitio: http://www.librodepython.com
#
# Archivo: lista\capítulo 10\10.14 - Clase Nombre (nombre.py).py
# Descripción: Clase Nombre (nombre.py)
##############################################################################

class Nombre:
    def __init__(self, nombre):
        if nombre == None or not nombre.strip():
            raise ValueError("Nombre no puede ser nulo ni en blanco")
        self.nombre = nombre
        self.clave = nombre.strip().lower()

    def __str__(self):
        return self.nombre

    def __repr__(self):
        return "<Clase {3} en 0x{0:x} Nombre: {1} Clave: {2}>".format(
            id(self), self.nombre, self.clave, type(self).__name__)

    def __eq__(self, otro):
        print("__eq__ Llamado")
        return self.nombre == otro.nombre

    def __lt__(self, otro):
        print("__lt__ Llamado")
        return self.nombre < otro.nombre
Haga clic aquí para bajar el archivo