Python es un lenguaje de programación versátil y potente que se destaca por su facilidad de uso y legibilidad. Una de las características clave de Python es su capacidad para trabajar con clases, que permiten crear objetos y estructurar el código de manera eficiente. En este artículo, exploraremos el uso de clases en Python (junto a algunos conceptos clave) y cómo pueden mejorar tu código, junto con algunos ejemplos prácticos. Pero antes, empezaremos por lo más básico: Definir que es una «clase» en Python:
1). ¿QUÉ ES UNA CLASE?
En Python, una clase es una plantilla o un plano para crear objetos. Una clase define las propiedades y los comportamientos que tendrán los objetos que se creen a partir de ella. Las propiedades se llaman atributos y los comportamientos se llaman métodos. Los atributos son variables asociadas a la clase y los métodos son funciones asociadas a la clase.
2). DECLARACIÓN DE UNA CLASE.
Para declarar una clase en Python, se utiliza la palabra reservada «class» seguida del nombre de dicha clase. A continuación, te mostramos un ejemplo básico de declaración de una clase en Python:

En este ejemplo, hemos creado una clase llamada «Persona» con dos atributos («nombre» y «edad«) y un método llamado «saludar» que imprime un saludo personalizado. Luego creamos dos objetos de la clase Persona, «persona1» y «persona2«, y llamamos al método «saludar» en cada objeto.
OUTPUT:

3). HERENCIA DE CLASES.
La herencia de clases es un concepto importante en la programación orientada a objetos, el cual, permite crear una clase nueva basada en una clase ya existente, heredando sus atributos y métodos. A esta nueva clase la llamamos clase derivada o subclase, mientras que la clase existente recibirá el nombre de clase base o superclase:

Como se ve en este ejemplo, creamos una nueva clase «Estudiante» que hereda de la clase «Persona«. Por su parte, la clase «Estudiante» tiene un atributo adicional «curso» y un método adicional «presentarse«. Utilizaremos la función «super()» para llamar al método «init» de la clase base y aprovechar los atributos heredados de esta.
OUTPUT:

4). ENCAPSULACIÓN.
La encapsulación es un principio de la programación orientada a objetos que permite ocultar los detalles internos de una clase y proporcionar una interfaz para interactuar con los objetos. En Python no existe como tal (al no haber diferencia entre atributos/métodos públicos y privados), pero se puede simular precediendo dichos atributos y métodos con dos barras bajas («__«) como indicando que son especiales, evitando, así, que se pueda producir un acceso no deseado, a los mismos:

En este ejemplo, la clase «CuentaBancaria» tiene un atributo privado «__saldo» al que solo se puede acceder a través de un método público llamado «obtener_saldo«. Esto protege el saldo de la cuenta y evita su modificación directa.
OUTPUT:

CONCLUSIÓN.
Las clases en Python son una herramienta poderosa para estructurar y organizar el código de manera más eficiente. Permiten encapsular datos y comportamientos relacionados en objetos, facilitando su reutilización y mantenimiento. Además, la herencia de clases ofrece la capacidad de extender y especializar las clases existentes. Al dominar el uso de clases en Python, puedes escribir programas más limpios, modulares y fáciles de entender.
Recuerda que estos ejemplos solo representan una introducción al uso de clases en Python, y hay muchas más posibilidades y conceptos avanzados (que iremos viendo en futuros artículos) los cuales, puedes explorar para aprovechar al máximo la programación orientada a objetos en este lenguaje tan versátil. ¡Anímate a seguir aprendiendo y experimentando!
Podéis acceder a los códigos utilizados este artículo, en los siguientes enlaces:
https://github.com/antonioam82/ejercicios-python/blob/master/ejem_clases.py
https://github.com/antonioam82/ejercicios-python/blob/master/ejem_clases2.py
Saludos.




































































































