如何枚举python中的嵌套类?

克里德尼克

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

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}
定界符

您可以使用下面的代码:

import types


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

    class C(object):
        pass

def enumerate_nested_classes(_class):
    return [getattr(_class, n) for n in dir(_class) if not n.startswith('__')
            and isinstance(getattr(_class, n), (type, types.ClassType))] 

assert enumerate_nested_classes(A) == [A.B, A.C]

print enumerate_nested_classes(A)印刷品[<class '__main__.B'>, <class '__main__.C'>]

注意 dir(_class)结果列表按字母顺序排序,因此使用assert enumerate_nested_classes(A) == [A.B, A.C]时最好使用:assert sorted(enumerate_nested_classes(A)) == sorted([A.B, A.C])

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

嵌套类中名为“ Type”的枚举失败

来自分类Dev

定义嵌套在类中的枚举的运算符

来自分类Dev

定义嵌套在类中的枚举的运算符

来自分类Dev

如何在scala中反映枚举类?

来自分类Dev

Java中的嵌套枚举?

来自分类Dev

嵌套类<List>:如何访问列表中的嵌套类?

来自分类Dev

如何从Java中自己的类返回类的枚举?

来自分类Dev

如何从Java中自己的类返回类的枚举?

来自分类Dev

如何浏览枚举类?

来自分类Dev

如何在EA中更改枚举元素中的类元素

来自分类Dev

如何从C ++中的嵌套类调用变量

来自分类Dev

如何在嵌套类中实现多态?

来自分类Dev

如何从C ++中的嵌套类调用变量

来自分类Dev

在字典中引用嵌套枚举?

来自分类Dev

如何在python中枚举OrderedDict

来自分类Dev

如何在python中枚举.csv文件?

来自分类Dev

如何在protobufs中访问python枚举

来自分类Dev

如何检查Python枚举中的项目顺序?

来自分类Dev

如何遍历一个类中的几个枚举

来自分类Dev

如何在Javascript / Typescript中创建基于类的枚举

来自分类Dev

如何在不同的类中更改枚举变量的值?

来自分类Dev

如何声明另一个类中的枚举?

来自分类Dev

如何在java pojo类中编写枚举列?

来自分类Dev

在枚举类中,如何将值转换为日期?

来自分类Dev

使用枚举检查python中类/实例的属性

来自分类Dev

从不同的包(Java)导入嵌套在另一个类中的枚举

来自分类Dev

如何从嵌套类swift更新类中的变量

来自分类Dev

如果枚举类是Java方法中的参数,如何获取枚举值?

来自分类Dev

从枚举类获取值,在该类中,运行时在Python中知道枚举成员名称

Related 相关文章

热门标签

归档