引用 class 变量而不在 Python 中创建实例
Refering to class variables without creating an instance in Python
我正在编写一个 class,它基本上是一个数据结构,用于保存状态代码和与每个状态代码相关联的字典。我想调用一个方法,提供一个数字状态代码并取回字典。
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]
我正在编写一个 class,它基本上是一个数据结构,用于保存状态代码和与每个状态代码相关联的字典。我想调用一个方法,提供一个数字状态代码并取回字典。
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]