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-pythonhttps://www.google.com/search?q=Python+selfSaludos