0
的元組從BaseClass.__subclasses__()
是:如何檢索子類的元組
[ClassA, ClassB]
我想要得到的東西,如:
((ClassA,), (ClassB,))
我已經試過這一點,但它不工作:
[tuple(x()) for x in BaseClass.__subclasses__()]
的元組從BaseClass.__subclasses__()
是:如何檢索子類的元組
[ClassA, ClassB]
我想要得到的東西,如:
((ClassA,), (ClassB,))
我已經試過這一點,但它不工作:
[tuple(x()) for x in BaseClass.__subclasses__()]
您可以使用以下方法:
tuple((x,) for x in BaseClass.__subclasses__())
請參見下面的演示:
>>> class BaseClass:
... pass
...
>>> class ClassA(BaseClass):
... pass
...
>>> class ClassB(BaseClass):
... pass
...
>>> BaseClass.__subclasses__()
[<class '__main__.ClassA'>, <class '__main__.ClassB'>]
>>>
>>> tuple((x,) for x in BaseClass.__subclasses__())
((<class '__main__.ClassA'>,), (<class '__main__.ClassB'>,))
>>>
如果你想打開一個列表轉換成一個元組,每一個列表項本身是一個元組,嘗試:
tuple(map(tuple, BaseClass.__subclasses__()))