Clases y Objetos en Python
En la programación orientada a objetos, las clases y los objetos son conceptos fundamentales que permiten organizar y estructurar el código de manera eficiente. En este artículo, exploraremos en detalle cómo crear y usar clases y objetos en Python, junto con sus métodos y propiedades.
Crear una Clase
Una clase es un modelo para la creación de objetos. Definimos una clase utilizando la palabra clave
class
.
Ejemplo
class Persona:
def __init__(self, nombre, edad):
self.nombre = nombre
self.edad = edad
Crear un Objeto
Un objeto es una instancia de una clase. Creamos un objeto llamando al constructor de la clase.
Ejemplo
class Persona:
def __init__(self, nombre, edad):
self.nombre = nombre
self.edad = edad
def __str__(self):
return f"{self.nombre} ({self.edad})"
persona1 = Persona("Elena", 30)
print(persona1)
La función __init__()
El método
__init__()
es un método especial que se llama automáticamente cuando se crea un objeto de la clase. Es utilizado para inicializar las propiedades del objeto.
Ejemplo
class Persona:
def __init__(self, nombre, edad):
self.nombre = nombre
self.edad = edad
persona = Persona("Marcos", 25)
print(persona.nombre, persona.edad)
La función __str__()
El método
__str__()
es otro método especial que se utiliza para proporcionar una representación legible de un objeto cuando se convierte a cadena.
Ejemplo
class Persona:
def __init__(self, nombre, edad):
self.nombre = nombre
self.edad = edad
def __str__(self):
return f"Nombre: {self.nombre}, Edad: {self.edad}"
persona = Persona("Carmen", 22)
print(persona)
Métodos de Objetos
Los métodos son funciones definidas en una clase que pueden ser llamadas en objetos de esa clase.
Ejemplo
class Persona:
def __init__(self, nombre, edad):
self.nombre = nombre
self.edad = edad
def saludar(self):
print(f"Hola, soy {self.nombre}")
persona = Persona("Diego", 28)
persona.saludar()
El parámetro self
En Python, el parámetro
self
se utiliza para referirse a la instancia actual de una clase. Permite acceder a las propiedades y métodos de esa instancia. Es una convención utilizar el nombre
self
para este parámetro, pero podrías usar cualquier nombre que elijas.
Ejemplo
class Persona:
def __init__(self, nombre):
self.nombre = nombre
persona = Persona("Elena")
print(persona.nombre) # Salida: Elena
Modificar Propiedades de Objetos
Puedes modificar las propiedades de un objeto utilizando la notación de punto.
Ejemplo
class Persona:
def __init__(self, nombre):
self.nombre = nombre
persona = Persona("Elena")
persona.nombre = "Marcos"
print(persona.nombre) # Salida: Marcos
Eliminar Propiedades de Objeto
Puedes eliminar propiedades de un objeto utilizando la palabra clave
del
.
Ejemplo
class Persona:
def __init__(self, nombre, edad):
self.nombre = nombre
self.edad = edad
persona = Persona("Laura", 27)
del persona.nombre
print(persona.edad)
Eliminar Objetos
Puedes eliminar un objeto utilizando la palabra clave
del
.
Ejemplo
class Persona:
def __init__(self, nombre):
self.nombre = nombre
persona = Persona("Inés")
del persona
# Generaría NameError
La Declaración pass
La declaración
pass
se utiliza cuando se requiere una declaración en la sintaxis pero no se necesita ningún código. Puede ser útil para definir una estructura básica de clase o función y agregar detalles más adelante.
Ejemplo
import numpy as np
scale = 0.5
muestras = np.random.exponential(scale, 5)
print("Muestras generadas:", muestras)
Las clases y los objetos son fundamentales en la programación orientada a objetos. Con una comprensión sólida de cómo utilizar el parámetro
self
, modificar y eliminar propiedades de objetos, eliminar objetos y emplear la declaración
pass
, estarás en camino de crear programas más estructurados, reutilizables y mantenibles en Python.
Practica Clases y Objetos en Python en el editor
Pon en práctica lo aprendido con nuestro editor Python interactivo. Cada ejercicio incluye el código de partida y un botón para abrirlo en una nueva pestaña, donde puedes modificarlo y ejecutarlo.
Ejercicio: Un objeto es una instancia de una clase
Un objeto es una instancia de una clase. Creamos un objeto llamando al constructor de la clase.
Ejemplo
class Persona:
def __init__(self, nombre, edad):
self.nombre = nombre
self.edad = edad
def __str__(self):
return f"{self.nombre} ({self.edad})"
persona1 = Persona("Elena", 30)
print(persona1)
Ejercicio: Definir una clase (2)
El método __init__() es un método especial que se llama automáticamente cuando se crea un objeto de la clase. Es utilizado para inicializar las propiedades del.
Ejemplo
class Persona:
def __init__(self, nombre, edad):
self.nombre = nombre
self.edad = edad
persona = Persona("Marcos", 25)
print(persona.nombre, persona.edad)
Ejercicio: Definir una clase (3)
El método __str__() es otro método especial que se utiliza para proporcionar una representación legible de un objeto cuando se convierte a cadena.
Ejemplo
class Persona:
def __init__(self, nombre, edad):
self.nombre = nombre
self.edad = edad
def __str__(self):
return f"Nombre: {self.nombre}, Edad: {self.edad}"
persona = Persona("Carmen", 22)
print(persona)
Ejercicio: Definir una clase (4)
Los métodos son funciones definidas en una clase que pueden ser llamadas en objetos de esa clase.
Ejemplo
class Persona:
def __init__(self, nombre, edad):
self.nombre = nombre
self.edad = edad
def saludar(self):
print(f"Hola, soy {self.nombre}")
persona = Persona("Diego", 28)
persona.saludar()
Ejercicio: En Python, el parámetro
En Python, el parámetro self se utiliza para referirse a la instancia actual de una clase. Permite acceder a las propiedades y métodos de esa instancia. Es una.
Ejemplo
class Persona:
def __init__(self, nombre):
self.nombre = nombre
persona = Persona("Elena")
print(persona.nombre) # Salida: Elena
Ejercicio: Definir una clase (5)
Puedes modificar las propiedades de un objeto utilizando la notación de punto.
Ejemplo
class Persona:
def __init__(self, nombre):
self.nombre = nombre
persona = Persona("Elena")
persona.nombre = "Marcos"
print(persona.nombre) # Salida: Marcos
Comprueba lo aprendido
Responde 2–3 preguntas sobre esta lección. Verás ✓ en verde si aciertas o ✗ en rojo si fallas.