Hola, trabajando ya desde hace un buen tiempo con python (específicamente con poco) me di cuenta que al momento de crear una clase (observando otros código) hay veces que usan self y en otras cosas no lo usan.
Me gustaría saber en qué momentos le tengo que pasar self a cada cosa y porque
Gracias y buen día u noche!
Hola @Panic0
self no es más que una convención, y es básicamente la instancia de la clase para la cual se leerán las propiedades o directamente se llamarán a los métodos.
Intentalo tú mismo: crea una clase y no uses self; usa cualquier otro nombre y verás que tendrás el mismo efecto.
~ DtxdF
Cita de: DtxdF en 28 Junio 2021, 19:32 PM
Hola @Panic0
self no es más que una convención, y es básicamente la instancia de la clase para la cual se leerán las propiedades o directamente se llamarán a los métodos.
Intentalo tú mismo: crea una clase y no uses self; usa cualquier otro nombre y verás que tendrás el mismo efecto.
~ DtxdF
Bien,ya entendí muchísimas gracias!
Hola, self hace referencia a la misma clase, self es como un puntero en otros lenguajes y puede usarse por ejemplo para tener varios nombres iguales en distintas clases, por ejemplo:
Clase 1:
self.cantdadTotal = 100
Clase 2:
self.cantidadTotal = 2500
Clase 3:
self.cantidadTotal = 80240
En muchos códigos de Python verás algo como esto por ejemplo:
Class DatosAlumnos:
def __init__(self, name, surname, address, phone):
self.name = name
self.surname = surname
self.address = address
self.phone = phone
Eso generalmente lo hacen para manejar las variables como haciendo referencia a su misma clase por eso el uso de self y además se pasan las 4 variables de esa forma para no usar variables globales.
Más información aquí:
https://es.stackoverflow.com/questions/202588/como-funciona-self-en-python
https://www.google.com/search?q=Python+self
Saludos