yo
self
es el primer argumento en los métodos, cuyo nombre es acordado por los programadores de Python. Cuando una instancia ejecuta un método, automáticamente se pasa a sí misma como primer argumento. Consideremos como ejemplo la clase User
que creamos anteriormente:
123456789101112class User: def __init__(self, name, surname, age): # self=bob, name="Bob", surname="Smith", age=11 self.name = name # bob.name = "Bob" (name argument) self.surname = surname # bob.surname = "Smith" (surname argument) self.age = age # bob.age = 11 (age argument) bob = User("Bob", "Smith", 11) print(bob.name, bob.surname, bob.age)
El método mágico __init__
recibe los argumentos self
, name
, surname
y age
. En el ejemplo dado, cuando creamos la instancia bob
, estos argumentos se pasan como valores.
Usemos la función print()
para examinar los argumentos pasados:
123456789101112131415161718class User: def __init__(self, name, surname, age): print("===== INIT ARGUMENTS =====") print("self:", self) print("name:", name) print("surname:", surname) print("age:", age) self.name = name self.surname = surname self.age = age bob = User("Bob", "Smith", 11) print("===== GLOBAL =====") print("bob:", bob) print("bob.name:", bob.name) print("bob.surname:", bob.surname) print("bob.age:", bob.age)
En el ejemplo dado, es evidente que la variable global bob
y el parámetro self
dentro del método __init__
se refieren a la misma instancia. Esto ilustra la convención en Python donde los métodos reciben la instancia como primer argumento, convencionalmente llamado self
.
Siguiendo esta convención, los métodos tienen acceso a los atributos de la instancia y pueden realizar operaciones o acceder a valores específicos de esa instancia en particular.
Nota
En Python, el parámetro
self
sirve como primer argumento en los métodos y representa el objeto instancia que llama al método. Por convención, se utiliza el nombreself
, aunque puede ser cualquier nombre de variable válido. Este parámetro proporciona acceso a los atributos y métodos de la instancia, permitiendo al método interactuar y manipular sus propios datos.
Para una mejor comprensión, vamos a crear una función regular y llamarla init
, que realizará las mismas acciones pero será llamada por separado.
1234567891011class User: pass def init(instance, arg1, arg2, arg3): instance.name = arg1 instance.surname = arg2 instance.age = arg3 bob = User() init(bob, "Bob", "Smith", 11) print(bob.name, bob.surname, bob.age)
La función init
toma el primer argumento como instancia y luego le asigna los argumentos recibidos. Del mismo modo, __init__
funciona al crear una clase, y self
es un elemento necesario para crear diferentes métodos, que discutiremos más adelante.
¡Gracias por tus comentarios!
Pregunte a AI
Pregunte a AI
Pregunte lo que quiera o pruebe una de las preguntas sugeridas para comenzar nuestra charla
Awesome!
Completion rate improved to 2.78
yo
Desliza para mostrar el menú
self
es el primer argumento en los métodos, cuyo nombre es acordado por los programadores de Python. Cuando una instancia ejecuta un método, automáticamente se pasa a sí misma como primer argumento. Consideremos como ejemplo la clase User
que creamos anteriormente:
123456789101112class User: def __init__(self, name, surname, age): # self=bob, name="Bob", surname="Smith", age=11 self.name = name # bob.name = "Bob" (name argument) self.surname = surname # bob.surname = "Smith" (surname argument) self.age = age # bob.age = 11 (age argument) bob = User("Bob", "Smith", 11) print(bob.name, bob.surname, bob.age)
El método mágico __init__
recibe los argumentos self
, name
, surname
y age
. En el ejemplo dado, cuando creamos la instancia bob
, estos argumentos se pasan como valores.
Usemos la función print()
para examinar los argumentos pasados:
123456789101112131415161718class User: def __init__(self, name, surname, age): print("===== INIT ARGUMENTS =====") print("self:", self) print("name:", name) print("surname:", surname) print("age:", age) self.name = name self.surname = surname self.age = age bob = User("Bob", "Smith", 11) print("===== GLOBAL =====") print("bob:", bob) print("bob.name:", bob.name) print("bob.surname:", bob.surname) print("bob.age:", bob.age)
En el ejemplo dado, es evidente que la variable global bob
y el parámetro self
dentro del método __init__
se refieren a la misma instancia. Esto ilustra la convención en Python donde los métodos reciben la instancia como primer argumento, convencionalmente llamado self
.
Siguiendo esta convención, los métodos tienen acceso a los atributos de la instancia y pueden realizar operaciones o acceder a valores específicos de esa instancia en particular.
Nota
En Python, el parámetro
self
sirve como primer argumento en los métodos y representa el objeto instancia que llama al método. Por convención, se utiliza el nombreself
, aunque puede ser cualquier nombre de variable válido. Este parámetro proporciona acceso a los atributos y métodos de la instancia, permitiendo al método interactuar y manipular sus propios datos.
Para una mejor comprensión, vamos a crear una función regular y llamarla init
, que realizará las mismas acciones pero será llamada por separado.
1234567891011class User: pass def init(instance, arg1, arg2, arg3): instance.name = arg1 instance.surname = arg2 instance.age = arg3 bob = User() init(bob, "Bob", "Smith", 11) print(bob.name, bob.surname, bob.age)
La función init
toma el primer argumento como instancia y luego le asigna los argumentos recibidos. Del mismo modo, __init__
funciona al crear una clase, y self
es un elemento necesario para crear diferentes métodos, que discutiremos más adelante.
¡Gracias por tus comentarios!