La duda

Páginas: 4 (869 palabras) Publicado: 7 de agosto de 2014
Podemos hacer que se ejecute un método definido por nosotros cuando pasamos un objeto a la función print o cuando llamamos a la función str.
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...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • EL DUDE
  • Dudas
  • Dudas
  • tu dude
  • La Duda
  • La duda
  • Dudas
  • Dudas

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS