clases y objetos
Clases y objetos
Section titled “Clases y objetos”Una clase es una forma de definir algo “en general”. Sirve como plantilla para crear objetos. Dentro de una clase se indican los datos que tendrá (atributos) y lo que podrá hacer (métodos).
Definición
En Python, una clase se crea usando la palabra class.
class Persona: passEsta clase todavía no hace nada, pero ya se puede usar para crear objetos.
Ejemplo sencillo
class Persona: nombre = ""Aquí la clase define un dato llamado nombre.
Constructor
El constructor es el método __init__. Se ejecuta automáticamente cuando se crea un objeto y sirve para darle valores iniciales.
class Persona: def __init__(self, nombre, edad): self.nombre = nombre self.edad = edadselfhace referencia al propio objetonombreyedadquedan guardados en el objeto
Objetos
Section titled “Objetos”Definición
Un objeto es una instancia de una clase. Es decir, una copia real creada a partir de la plantilla.
Ejemplo
class Persona: def __init__(self, nombre): self.nombre = nombre
persona1 = Persona("Ana")persona2 = Persona("Luis")Aunque vienen de la misma clase, son objetos distintos.
Propiedades
Las propiedades son los datos guardados dentro del objeto.
print(persona1.nombre)Cada objeto tiene sus propios valores.
Decoradores
Section titled “Decoradores”Definición
Un decorador sirve para añadir comportamiento extra a una función o método sin modificar su código original.
Ejemplo básico
def mi_decorador(funcion): def envoltura(): print("Antes") funcion() print("Después") return envoltura
@mi_decoradordef saludar(): print("Hola")
saludar()Decoradores comunes
@staticmethod: define un método que no usa datos del objeto ni de la clase@classmethod: define un método que trabaja con la clase@property: permite acceder a un método como si fuera un atributo
Ejemplo de @property:
class Persona: def __init__(self, edad): self._edad = edad
@property def edad(self): return self._edad
persona = Persona(20)print(persona.edad)