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:21] tempwininformatica:programacion:python:poo [2021/10/10 13:47] (actual) – [Recursos] tempwin
Línea 4: Línea 4:
  
 <WRAP center round info 60%> <WRAP center round info 60%>
-En Python todo es un objeto. El tipo más básico de objeto en Python es ''object''+En Python todo es un objeto. El tipo más básico de objeto en Python es ''object''. Las clases que creemos serán subclases de ''object'', por lo que ''object'' será la superclase de todo el resto de clases.
 </WRAP> </WRAP>
  
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.1633864892.txt.gz · Última modificación: por tempwin