Añaqui Apolinar Morales
PreguntaAlguien me puede explicar para que sirve self y como se usa exactamente ?

Josue Granados
Estos son temas de Programación Orientada a Objetos y hay un curso de eso, pero a grandes rasgos self hace referecia a los atributos de la clase misma, a los que pertenecen a ese objeto en especifico (porque en POO puedes heredar atributos de otras clases).
Veelo de la siguiente forma: Tu como ser humano heredaste cualidades de tus papás, tal vez el cabello, la estatura, los ojos, algunos razgos en el mentón, etc. Pero tu tienes atributos propios de ti que tus papás no, quizá tu voz, tu caractér, quizá tus gustos musicales, etc.
Lo mismo sucede con las clases en Python, self (uno mismo en inglés) se usa para indicar y acceder a los atributos que pertenecen a esa clase. (porque explicito es mejor que implicito). Ejemplo:
class carro(): # aqui se define que vas a usar self para #referencia propia (puede ser cualquier otra) def __init__(self, modelo, color): self.modelo = modelo #atributos de la clase self.color = color #metodo para mostrar los atributos #una vez que defines self, siempre #lo pasas por parametro def mostrar(self): print("El modelo es: ", self.modelo ) print("es de color: ", self.color )

Pablo Antipan Quiñenao
self se usa para referirse a la instancia de una clase. En python se usa porque "explicito es mejor que implicito' (a diferencia de otros lenguajes de programacion). Un link que explora esto: https://www.programiz.com/article/python-self-why

Axel Yaguana
Es para hacer referencia a una clase en sí misma.

Oscar Lara
Hola, self es una palabra mediante la que podemos acceder a los métodos y atributos de una clase y se usa como un parámetro, que se define en todos los métodos (además del constructor) de dicha clase.
Es importante mencionar que self es una convención en la comunidad de Python, podrías sustituirla por alguna otra palabra (mientras no sea una palabra reservada) si así lo quieres.
Te dejo un par de links por si te interesa conocer más: