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

在Python中引用类变量而不创建实例,python,python-2.7,Python,Python 2.7,我正在编写一个类,它基本上是一个数据结构,用来保存状态代码和与每个状态代码相关联的dict。我想调用一个方法,提供一个数字状态码,然后返回一个字典 class StatusCode(object): def __init__(self): self.codes = { 0: { 'flag': "QEX_OK", 'message': "job successful" },

我正在编写一个类,它基本上是一个数据结构,用来保存状态代码和与每个状态代码相关联的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]
我如何才能正确地实现这一点

多少泰铢。

那么:

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)

使用
@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]

本例中的“cls”是什么?@BenH它是类对象,类似于实例方法中的实例对象
self
。它是对
StatusCode
类对象的引用,比如
self
是对已创建对象实例的引用。这就是我所需要的。。。。我在摆弄init(),不需要这么做。多谢。