首页 热点资讯 义务教育 高等教育 出国留学 考研考公

在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.

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com