Herramientas de usuario

Herramientas del sitio


informatica:programacion:python:poo

Diferencias

Muestra las diferencias entre dos versiones de la página.

Enlace a la vista de comparación

Ambos lados, revisión anteriorRevisión previa
Próxima revisión
Revisión previa
informatica:programacion:python:poo [2021/10/10 13:22] tempwininformatica:programacion:python:poo [2021/10/10 13:47] (actual) – [Recursos] tempwin
Línea 106: Línea 106:
  
 <code python> <code python>
-gorrion = pajaro('gorrion', '20'', 'marrón')+gorrion = pajaro('gorrion', ''20'', 'marrón')
 </code> </code>
  
Línea 302: Línea 302:
         print("Arrancando el Renault")         print("Arrancando el Renault")
 </code> </code>
 +
 +===== Imprimir la representación de un objeto =====
 +
 +Python llama al método ''%%__%%str%%__%%'' cuando utilizamos ''print'' sobre un objeto. Por defecto, mostrará algo como:
 +
 +Si queremos decidir qué imprimirá, crearemos nosotros un método ''%%__%%str%%__%%'' en nuestra clase:
 +
 +<code python>
 +class Coordenada(object):
 +    def__init__(self, x, y):
 +        self.x = x
 +        self.y = y
 +        
 +    def __str__(self):
 +        return "<" + str(self.x) + ", " + str(self.y) + ">"
 +</code>
 +
 +<WRAP center round important 60%>
 +''%%__%%str%%__%%'' debe devolver un string
 +</WRAP>
 +
 +==== Operadores especiales ====
 +
 +Hay una serie de operadores que al utilizarlos en Python, llama a ciertos métodos de los objetos:
 +
 +^ Método                 ^ Operador ^
 +| ''%%__%%add%%__%%''     | ''self + other''  |
 +| ''%%__%%sub%%__%%''     | ''self - other''  |
 +| ''%%__%%eq%%__%%''      | ''self == other''  |
 +| ''%%__%%lt%%__%%''      | ''self < other''  |
 +| ''%%__%%len%%__%%''     | ''len(self)''  |
 +| ''%%__%%str%%__%%''     | ''print(self)''  |
 +
 +
 +  * https://docs.python.org/3/reference/datamodel.html#basic-customization
 +
 +===== Recursos =====
 +
 +  * [[https://www.youtube.com/watch?v=-DP1i2ZU9gk|8. Object Oriented Programming]] (YouTube)
informatica/programacion/python/poo.1633864972.txt.gz · Última modificación: por tempwin