Clases y Objetos

Atributos


Los atributos son variables asociadas a los objetos que describen su estado. Pueden definirse directamente en la clase o en el constructor (más adelante veremos esto).

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

Aquí nombre y edad son atributos de instancia. La palabra clave self se refiere al propio objeto y se utiliza para acceder a sus atributos.

Los atributos pueden ser de cualquier tipo de dato: enteros, cadenas, listas, otros objetos, etc.


Atributos Especiales:

Python proporciona varios atributos especiales con nombres delimitados por doble guion bajo (__nombre__). Algunos ejemplos comunes son:

  • __name__: nombre del módulo o clase.
  • __doc__: cadena de documentación (docstring).
  • __dict__: diccionario con todos los atributos del objeto.

Constructor: __init__()

El constructor es un método especial llamado __init__ que se ejecuta automáticamente al crear un objeto. Se usa para inicializar los atributos del objeto.

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

Al instanciar la clase, pasamos los argumentos necesarios:

persona1 = Persona("Ana", 25)
Características del método __init__:
  • Es opcional, pero común en casi todas las clases.
  • No retorna ningún valor explícito.
  • Se ejecuta automáticamente al instanciar.
  • Recibe al menos un parámetro (por convención llamado self), además de los argumentos necesarios para la inicialización.