2 回答
TA贡献1860条经验 获得超8个赞
您正在将GameStatus初始化程序设置为None:
class GameStatus(object):
__init__ = None
不要那样做 Python希望这是一种方法。如果您不想使用__init__方法,则根本不要指定它。最多将其设为空函数:
class GameStatus(object):
def __init__(self, *args, **kw):
# Guaranteed to do nothing. Whatsoever. Whatever arguments you pass in.
pass
如果要创建类似枚举的对象,请查看如何在Python中表示“枚举”?
对于Python 2.7,您可以使用:
def enum(*sequential, **named):
enums = dict(zip(sequential, range(len(sequential))), **named)
reverse = dict((value, key) for key, value in enums.iteritems())
enums['reverse_mapping'] = reverse
return type('Enum', (), enums)
GameStatus = enum('NotStarted', 'InProgress', 'Win', 'Lose')
print GameStatus.NotStarted # 0
print GameStatus.reverse_mapping[0] # NotStarted
添加回答
举报