Las clases proveen una forma de empaquetar datos y funcionalidad juntos. Al crear una nueva clase, se crea un nuevo tipo de objeto, permitiendo crear nuevas instancias de ese tipo. Cada instancia de clase puede tener atributos adjuntos para mantener su estado. Las instancias de clase también pueden tener métodos (definidos por su clase) para modificar su estado.
Las clases en Python son un mecanismo fundamental de la programación orientada a objetos (POO). Una clase actúa como un molde o plantilla para crear objetos, que son instancias de esa clase. Permiten agrupar datos y comportamientos relacionados en una sola estructura, facilitando la organización y reutilización del código.
Atributos: Son variables que almacenan el estado de la clase. Cada objeto puede tener valores diferentes para estos atributos.
Métodos: Son funciones definidas dentro de la clase que describen los comportamientos de los objetos. Pueden manipular los atributos de la clase o realizar otras operaciones.
Constructor (__init__): Es un método especial que se llama automáticamente cuando se crea una nueva instancia de la clase. Se utiliza para inicializar los atributos del objeto.
Los métodos son funciones que están asociadas a un objeto (Referencia de objeto como en la programación orientada a objetos). En Python, los métodos suelen estar definidos dentro de una clase y se utilizan para interactuar con los datos del objeto.
Una invocación de un método típico usualmente se ve así:
result = data.method(arg)
El nombre del método está precedido por el nombre de los datos que posee el método. A continuación, se agrega un punto, seguido del nombre del método y un par de paréntesis que encierran los argumentos.
El método se comportará como una función, pero puede hacer algo más: puede cambiar el estado interno de los datos a partir de los cuales se ha invocado.