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.