Red de conocimiento informático - Material del sitio web - En Python, ¿puede el valor de retorno de un método en una clase ser otra clase?

En Python, ¿puede el valor de retorno de un método en una clase ser otra clase?

Por supuesto.

Existe un concepto de metaclase en Python, y la metaclase es una clase utilizada para generar clases.

También existe el concepto de función de fábrica, lo que significa que una función devuelve directamente una clase. clase?MetaDog:

def?__init__(self,?color=''):

self.color?=?color

def?show_color(self ):

print('mi?perro?color?es?{}.'.format(self.color))

clase?Animal:

def?dog_class(self):

retorno?MetaDog

animal?=?Animal()

Perro?=?animal.dog_class()

mi_perro?=?Perro()

mi_perro.color?=?'amarillo'

#?mi_perro?=?Perro('amarillo')

mi_perro.show_color()

#?mi?perro?color?es?amarillo.