0Pricing
Python Academy · Lección

Clases y el método __init__

Defina clases, cree objetos e inicialice atributos.

Clases y el método __init__ es una lección gratuita de Python Academy en CoddyKit. Esta es la lección 1 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de Python Academy, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de Python Academy incluye 4 lecciones en total.

Definición de una clase

Use la palabra clave class para definir una clase. Por convención, los nombres de las clases usan CapWords.

class Dog:
    pass

fido = Dog()
print(type(fido))  # <class '__main__.Dog'>

El método __init__

__init__ se llama automáticamente cuando se crea un objeto. Úselo para configurar los atributos de instancia.

class Dog:
    def __init__(self, name, breed):
        self.name = name
        self.breed = breed

fido = Dog("Fido", "Labrador")
print(fido.name)   # Fido

Explicación de self

self hace referencia a la instancia actual. Debe ser el primer parámetro de todo método de instancia. Python lo pasa automáticamente.

class Counter:
    def __init__(self):
        self.count = 0

    def increment(self):
        self.count += 1

c = Counter()
c.increment()
print(c.count)  # 1

Varias instancias

Cada instancia tiene su propia copia de los atributos de instancia definidos en __init__.

class Point:
    def __init__(self, x, y):
        self.x = x
        self.y = y

p1 = Point(1, 2)
p2 = Point(5, 7)
print(p1.x, p2.x)  # 1 5

Valores predeterminados de parámetros en __init__

Asigne valores predeterminados a los parámetros de __init__ para que algunos argumentos sean opcionales.

class Circle:
    def __init__(self, radius=1.0):
        self.radius = radius

c1 = Circle()
c2 = Circle(5)
print(c1.radius, c2.radius)  # 1.0 5

Métodos de instancia

Los métodos definidos dentro de una clase operan sobre la instancia mediante self.

class Rectangle:
    def __init__(self, w, h):
        self.w = w
        self.h = h

    def area(self):
        return self.w * self.h

r = Rectangle(4, 5)
print(r.area())  # 20

Adición de atributos después de la creación

Puede añadir atributos a una instancia después de crearla, pero es más limpio declarar todos los atributos en __init__.

class Person:
    def __init__(self, name):
        self.name = name

p = Person("Alice")
p.age = 30      # added after creation
print(p.name, p.age)

El valor devuelto por __init__

__init__ debe devolver None. Devolver cualquier otra cosa genera un TypeError.

class Broken:
    def __init__(self):
        return 42   # TypeError!

# Correct
class OK:
    def __init__(self):
        self.value = 42
        # implicit return None

Comprobación del tipo de instancia

Use isinstance() para comprobar si un objeto es una instancia de una clase.

class Animal:
    pass

class Dog(Animal):
    pass

d = Dog()
print(isinstance(d, Dog))     # True
print(isinstance(d, Animal))  # True

Atributo __dict__

Cada instancia almacena sus atributos en un diccionario __dict__.

class Book:
    def __init__(self, title, pages):
        self.title = title
        self.pages = pages

b = Book("Python 101", 300)
print(b.__dict__)  # {'title': 'Python 101', 'pages': 300}

Eliminación de atributos

Use del para eliminar un atributo de una instancia durante la ejecución.

class Config:
    def __init__(self):
        self.debug = True
        self.version = "1.0"

cfg = Config()
del cfg.debug
print(hasattr(cfg, "debug"))  # False

Comprobación rápida

¿Cuál es la finalidad de self en los métodos de clase de Python?

Repaso

Las clases son plantillas para los objetos. __init__ inicializa los atributos de instancia, self hace referencia al objeto actual y cada instancia mantiene su propio diccionario de atributos.

Preguntas frecuentes

¿La lección «Clases y el método __init__» es gratis?

Sí — el texto completo de «Clases y el método __init__» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de Python Academy, actualiza a CoddyKit PRO. El curso de Python Academy incluye 4 lecciones en total.

¿Qué aprenderé en «Clases y el método __init__»?

Defina clases, cree objetos e inicialice atributos. Practicas Python Academy con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.

¿Necesito experiencia previa para empezar Python Academy?

No se requiere experiencia previa. Python Academy en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 1 de 4.

¿Cuánto tiempo toma la lección «Clases y el método __init__»?

La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.

¿Puedo escribir y ejecutar código en esta lección de Python Academy?

Sí. Cada lección de Python Academy incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.

Todas las lecciones de este curso

  1. Clases y el método __init__
  2. Atributos de instancia frente a atributos de clase
  3. Métodos de instancia y self
  4. Métodos mágicos: __str__ y __repr__
← Volver a Python Academy