Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/74.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python:查找枚举类的名称_Python_Class_Enums - Fatal编程技术网

Python:查找枚举类的名称

Python:查找枚举类的名称,python,class,enums,Python,Class,Enums,给定以下python代码: class Random_Skew_Enum( Enum ): NO_SKEW = 0 SKEW_LEFT_01 = 1 SKEW_LEFT_02 = 2 SKEW_LEFT_03 = 3 SKEW_LEFT_04 = 4 SKEW_LEFT_05 = 5 SKEW_LEFT_06 = 6 SKEW_RIGHT_01 = 7 SKEW_RIGHT_02 = 8 SKEW_RIGH

给定以下python代码:

class Random_Skew_Enum( Enum ):
    NO_SKEW      = 0
    SKEW_LEFT_01 = 1
    SKEW_LEFT_02 = 2
    SKEW_LEFT_03 = 3
    SKEW_LEFT_04 = 4
    SKEW_LEFT_05 = 5
    SKEW_LEFT_06 = 6
    SKEW_RIGHT_01 = 7
    SKEW_RIGHT_02 = 8
    SKEW_RIGHT_03 = 9
    SKEW_RIGHT_04 = 10
    SKEW_RIGHT_05 = 11
    SKEW_RIGHT_06 = 12

    def _Convert ( self, enumeration ):

        text_to_enumeration = {}
        enumeration_name = ""

        def Do_Convert( self, value ):

            result = text_to_enumeration.get( value )
            if result is None:
                raise CCS_Enumeration_Error( "The enumeration '{0:s}' does not contain the value '{1:s}.".format( enumeration_name, value ) )
            return result

        enumeration_name = enumerate.name
        for enumerate in enumeration:
            match_data = self._split_enumeration.search( enumerate_name )
            new_key = match_data.group( 3 ).upper().strip()
            text_to_enumeration.update( dict( [ new_key, enumerate ] ))
        return Do_Convert
如果我接着说:

_Convert_Text_To_Random_Skew = self._Convert ( Random_Skew_Enum )
线路

enumeration_name = enumerate.name

生成异常,我尝试了其他方法从参数枚举中提取类名,但没有效果,有人能帮我吗?

访问对象名称(如果有)的正确属性是
\uuu name\uuu


如果你想要类名,你需要
类型(enumerate)。\uuuuu name\uuuuu
(或者
enumerate.\uuuu class\uuuuu.\uuu name\uuuuuuu
如果你使用的是旧式类,你需要
类型(enumerate)。

enumerate
不是
枚举
(一般来说,这是一个糟糕的名称选择,因为内置的
enumerate
函数对该名称有支配权).
Random_Skew_Enum['Skew_LEFT_04']是Random_Skew_Enum.Skew_LEFT_04