¿Qué es una clase?

Una clase es una plantilla o modelo que define las características (atributos) y comportamientos (métodos) que tendrán los objetos.

Las clases permiten agrupar datos y funciones relacionadas en una sola estructura.


Crear una clase

En Python, las clases se definen utilizando la palabra clave class.

Ejemplo:

class Celular():
    marca = "samsung"
    modelo = "S23"
    camara = "48mp"

celular1 = Celular()
print(celular1.marca)

#Esto imprime: samsung

En este ejemplo se crea una clase llamada Celular. Creamos unas Claves llamadas marca, modelo y camara con sus valores.

¿Qué es un objeto?

Un objeto es una instancia de una clase. Es decir, es una representación concreta creada a partir de una clase.

Ejemplo:

persona1 = Persona()

Aquí se crea un objeto llamado persona1 basado en la clase Persona.

Método constructor init

El método init es un constructor que se ejecuta automáticamente cuando se crea un objeto. Se utiliza para inicializar los atributos del objeto.

Ejemplo:

class Persona:
    def __init__(self, nombre, edad):
        self.nombre = nombre
        self.edad = edad

Crear objetos con atributos

Una vez definida la clase, podemos crear objetos pasando los valores necesarios.

Ejemplo:

class Persona:
    def __init__(self, nombre, edad):
        self.nombre = nombre
        self.edad = edad

persona1 = Persona("Oscar", 20)

print(persona1.nombre)
print(persona1.edad)

En este caso:

nombre y edad son atributos del objeto persona1 es una instancia de la clase Persona

Atributos

Los atributos son variables que pertenecen a un objeto y almacenan información.

Se definen dentro del método init utilizando self.

Ejemplo:

class Persona:
    def __init__(self, nombre):
        self.nombre = nombre

Modificar atributos

Los atributos pueden modificarse después de crear el objeto.

Ejemplo:

persona1 = Persona("Oscar")
persona1.nombre = "Daniel"

print(persona1.nombre)

Múltiples objetos

Se pueden crear varios objetos a partir de la misma clase.

Ejemplo:

persona1 = Persona("Oscar", 20)
persona2 = Persona("Ana", 25)

print(persona1.nombre)
print(persona2.nombre)

Cada objeto tiene sus propios valores.

Las clases y objetos son la base de la Programación Orientada a Objetos. Permiten crear estructuras organizadas que representan entidades del mundo real, facilitando la reutilización y el mantenimiento del código.