下面是我递归获取所有子类的classmethod:
@classmethod
def get_subclasses(cls):
subclasses = set()
for subclass in cls.__subclasses__():
subclasses.add(subclass)
subclasses.update(subclass.get_subclasses())
return subclasses
有没有办法把它做成一行的?比如:
return set(subclass.__subclasses__() for subclass in self.__subclasses__())
这是将一个逻辑行拆分为两行源代码以提高可读性:
一行是可能的,但我认为保持两行可以保持清晰:
这将返回从基类继承的所有子类的名称。你知道吗
相关问题 更多 >
编程相关推荐