La duda
Que sucede cuando llamamos a la función print y lepasamos como parámetro un objeto?
class Persona:
def __init__(self,nom,ape):
self.nombre=nom
self.apellido=ape
per=Persona('Jose','Rodriguez')
print per
Nos muestra algoparecido a esto:
Python nos permite redefinir el método que se debe ejecutar. Esto se hace definiendo en la clase el método especial __str__
En el ejemplo anterior si queremos que se muestre el nombrey apellido separados por coma cuando llamemos a la función print el código que debemos implementar es el siguiente:
class Persona:
def __init__(self,nom,ape):
self.nombre=nomself.apellido=ape
def __str__(self):
cadena=self.nombre+','+self.apellido
return cadena
per=Persona('Jose','Rodriguez')
print per
Como vemos debemos implementar el método__str__ y retornar un string, este luego será el que imprime la función print:
def __str__(self):
cadena=self.nombre+','+self.apellido
return cadena
Esta característica definidaen Python nos permite crear programas muy legibles y flexibles.
El método __str__ también se ejecuta si llamamos a la función str y pasamos como parámetro un objeto que tiene definido dicho método:class Persona:
def __init__(self,nom,ape):
self.nombre=nom
self.apellido=ape
def __str__(self):
cadena=self.nombre+','+self.apellido
return cadenaper1=Persona('Jose','Rodriguez')
per2=Persona('Ana','Martinez')
print str(per1)+'-'+str(per2) # Jose,Rodriguez-Ana,Martinez
Problema resuelto
Crear una clase URL que permita inicializar la direcciónque apunta y el texto que debe mostrar. Definir el método __str__ que genere un string con el elemento HTML de hipervínculo.
Podemos hacer que se ejecute un método definido por nosotros cuando...
Regístrate para leer el documento completo.