Menu
Coddy logo textTech

El parámetro self

Parte de la sección Object Oriented Programming del Journey de Python de Coddy — lección 4 de 64.

El parámetro self se refiere a la instancia de una clase dentro de los métodos. Permite acceder y modificar los atributos del objeto actual.

Aquí hay un ejemplo de una clase con métodos que usan self:

class Car:
    def honk(self):
        print("Beep beep!")
    
    def describe(self):
        print(f"I am a {self.color} {self.model}")

El parámetro self debe ser siempre el primer parámetro en las definiciones de métodos. Le indica al método qué objeto específico se está utilizando.

Crea un objeto car y añade atributos:

my_car = Car()
my_car.color = "Red"
my_car.model = "Sedan"

Ahora llama a los métodos:

my_car.honk()
my_car.describe()

Salida:

Beep beep!
I am a Red Sedan

Observa que al llamar a my_car.describe(), no pasas nada para self - Python pasa automáticamente my_car como el parámetro self.

Esto es lo que sucede entre bastidores:

# Cuando escribes esto:
my_car.describe()

# Python en realidad hace esto:
Car.describe(my_car)

El parámetro self permite que cada objeto acceda a sus propios datos. Sin self, los métodos no sabrían qué atributos de objeto utilizar.

Punto clave: Incluye siempre self como el primer parámetro en las definiciones de métodos, pero nunca lo pases al llamar a los métodos; Python maneja esto automáticamente.

challenge icon

Desafío

Fácil

Completa la clase Car en car.py agregando un método llamado display_info que utilice el parámetro self para imprimir el año, la marca y el modelo del coche en el formato:

"This car is a [year] [make] [model]".

  • car.py: Contiene la definición de la clase Car donde agregarás el método display_info
  • driver.py: Archivo de ejecución principal que importa y utiliza la clase Car

El archivo driver.py importará tu clase Car y creará instancias para probar tu implementación. Asegúrate de que tu método funcione correctamente cuando se llame desde el archivo driver.

Hoja de referencia

El parámetro self se refiere a la instancia de una clase dentro de los métodos y permite acceder y modificar los atributos del objeto actual.

self siempre debe ser el primer parámetro en las definiciones de los métodos:

class Car:
    def honk(self):
        print("Beep beep!")
    
    def describe(self):
        print(f"I am a {self.color} {self.model}")

Crea un objeto y añade atributos:

my_car = Car()
my_car.color = "Red"
my_car.model = "Sedan"

Llama a los métodos (Python pasa automáticamente el objeto como self):

my_car.honk()        # ¡Beep beep!
my_car.describe()    # Soy un Sedan Rojo

Punto clave: Incluye siempre self como el primer parámetro en las definiciones de los métodos, pero nunca lo pases al llamar a los métodos.

Pruébalo tú mismo

from car import Car

# Prueba tu código
my_car = Car()
my_car.year = 2020
my_car.make = "Toyota"
my_car.model = "Corolla"

my_car.display_info()  # Debería imprimir: This car is a 2020 Toyota Corolla
quiz iconPonte a prueba

Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.

Todas las lecciones de Object Oriented Programming