La vida interna de clases y objetos: continuación
__bases__
es una tupla. La tupla contiene clases (no nombres de clases) que son superclases directas para la clase.
El orden es el mismo que el utilizado dentro de la definición de clase.
Te mostraremos solo un ejemplo muy básico, ya que queremos resaltar como funciona la herencia.
Además, te mostraremos cómo usar este atributo cuando discutamos los aspectos orientados a objetos de las excepciones.
Nota: solo las clases tienen este atributo - los objetos no.
Hemos definido una función llamada printBases()
, diseñada para presentar claramente el contenido de la tupla.
Observa el código en el editor. Ejecútalo. Su salida es:
( object )
( object )
( SuperUno SuperDos )
Nota: una clase sin superclases explícitas apunta al objeto (una clase de Python predefinida) como su antecesor directo.
Code
class SuperUno:pass
class SuperDos:
pass
class Sub(SuperUno, SuperDos):
pass
def printBases(cls):
print('( ', end='')
for x in cls.__bases__:
print(x.__name__, end=' ')
print(')')
printBases(SuperUno)
printBases(SuperDos)
printBases(Sub)
{{ dockerServerErrorMsg }}
×
{{ errorMsg }}
×
{{ successMsg }}
×