gpt4 book ai didi

python - 如何枚举python中的嵌套类?

转载 作者:太空宇宙 更新时间:2023-11-03 13:14:25 25 4
gpt4 key购买 nike

如何实现枚举嵌套类的函数?

class A(object):
class B(object):
pass

class C(object):
pass


def enumerate_nested_classes(_class):
return () # need proper implementation instead


assert set(enumerate_nested_classes(A)) == {A.B, A.C}

最佳答案

inspect.getmembers()连同inspect.isclass()在这里应该有所帮助:

classes = [name for name, member_type in inspect.getmembers(A)
if inspect.isclass(member_type) and not name.startswith("__")]

print(classes) # prints ['B', 'C']

请注意,不是 name.startswith("__") 检查是排除 __class__ 所必需的 - 我怀疑有一种更简单和更 pythonic 的方法来这样做,如果有人能指出这一点,我们将不胜感激。

关于python - 如何枚举python中的嵌套类?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34456049/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com