##############################################################################
# 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