引用类变量而不在Python中创建实例

时间:2015-01-09 14:07:07

标签: python python-2.7

我正在编写一个类,它基本上是一个数据结构,用于保存状态代码和相关的dict以及每个状态代码。我想调用一个方法,提供一个数字状态代码并返回一个字典。

class StatusCode(object):
    def __init__(self):
        self.codes  = {  0: { 'flag': "QEX_OK",      'message': "job successful"                                          },
                         1: { 'flag': "QEX_CMDLINE", 'message': "general cmd line syntax or semantic error"               }
             }
    @staticmethod
    def get_code(code):
        return self.codes[code]

我将如何正确实现这一目标?

很多。

2 个答案:

答案 0 :(得分:4)

使用@classmethod

class StatusCode(object):
    codes  = {
            0: { 'flag': "QEX_OK",      'message': "job successful"                           },
            1: { 'flag': "QEX_CMDLINE", 'message': "general cmd line syntax or semantic error"},
            }

    @classmethod
    def get_code(cls, code):
        return cls.codes[code]

答案 1 :(得分:1)

怎么样:

class StatusCode(object):
    codes  = {0: { 'flag': "QEX_OK",      'message': "job successful"                                          },
              1: { 'flag': "QEX_CMDLINE", 'message': "general cmd line syntax or semantic error"               }
             }

    @staticmethod
    def get_code(code):
        return StatusCode.codes[code]

print StatusCode.get_code(1)