[Python-mx] Acerca de super / herencia

Javier Parada jparada_a at hotmail.com
Thu Nov 3 22:26:23 EDT 2016


Hola amigos,

Siguiendo con el aprendizaje con Python, estoy estudiando éste código y algo que no sé que hace es super, buscando información me encontré de todo tipo acerca de super y la herencia multiple en Python, pero una de las descripciones que me fue muy util para entender es esta:

super, que es una función que sirve para acceder a atributos que pertenecen a una clase superior.

y además también me enteré de la propiedad mro que es una lista donde se guarda digamos el orden en el que se ejecutan los métodos de las clases, estamos bien?.

Así que regresando al código que estoy estudiando es este:

class Login(QMainWindow):
    def __init__(self):
        super(Login, self).__init__()
        print(Login.__mro__)
        #print("__mro__:", [x.__name__ for x in Login.__mro__])
        self.icon = QIcon()
        self.icon.addPixmap(QPixmap("./Resource/Images/favicon.png"))
        self.setWindowIcon(self.icon)
        self.setupGui()
        self.LoginGui()
        self.database = Database()

    def setupGui(self):
        # Login Window
        self.setMinimumSize(900, 650)
        self.setMaximumSize(900, 650)
        self.setWindowTitle("Inicia sesión | Sistema de Control Escolar")
        self.setObjectName("ventana_principal")
ésta es la salida de mro:

(<class 'Application.Login.Login.Login'>, <class 'PyQt4.QtGui.QMainWindow'>, <class 'PyQt4.QtGui.QWidget'>, <class
'PyQt4.QtCore.QObject'>, <class 'sip.wrapper'>, <class 'PyQt4.QtGui.QPaintDevice'>, <class 'sip.simplewrapper'>, <class 'object'>)
entonces con la información que leí y con la salida de mro, creo que aquí únicamente lo que el autor está haciendo es que llama a super porque la clase padre de de la clase Login es QMainWindow y entonces puede hacer uso de:
self.setWindowIcon(self.icon)
self.setMinimumSize(900, 650)
self.setMaximumSize(900, 650)
self.setWindowTitle("Inicia sesión | Sistema de Control Escolar")
self.setObjectName("ventana_principal")
estoy bien?, alguna observación?.

Gracias por su tiempo.

Saludos,
Javier
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/python-mx/attachments/20161104/e39a9d0d/attachment.html>


More information about the Python-mx mailing list