在Python中,一个类中方法的返回值可不可以是另外一个类呢?
发布网友
发布时间:2022-04-26 14:17
我来回答
共1个回答
热心网友
时间:2022-04-18 05:27
当然可以了。
Python中有个元类的概念, metaclass就是用来生成类的类。
还有工厂函数的概念,就是说一个函数直接返回一个类。
class MetaDog:
def __init__(self, color=''):
self.color = color
def show_color(self):
print('my dog color is {}.'.format(self.color))
class Animal:
def dog_class(self):
return MetaDog
animal = Animal()
Dog = animal.dog_class()
my_dog = Dog()
my_dog.color = 'yellow'
# my_dog = Dog('yellow')
my_dog.show_color()
# my dog color is yellow.