Pythonで定数
Python 3.4以降
code:const.py
from enum import Enum, unique # uniqueデコレータで値の重複を許さないようにできる
@unique
class Const(Enum);
HOGE = 1
FOO = 2
BAR = 3
code:const.py
class _consttype:
class _ConstTypeError(TypeError):
pass
def __repr__(self):
return "Constant type definitions."
def __setattr__(self, name, value):
v = self.__dict__.get(name, value)
if type(v) is not type(value):
raise self._ConstTypeError, "Can't rebind %s to %s" % (type(v), type(value))
self.__dict__name = value def __del__(self):
self.__dict__.clear()
import sys
saitotetsuya.iconなぜか3rd Ed.にはない
code:const.py
class _const:
class ConstError(TypeError): pass
def __setattr__(self, name, value):
if self.__dict__.has_key(name):
raise self.ConstError, "Can't rebind const(%s)"%name
self.__dict__name = value def __delattr__(self, name):
if self.__dict__.has_key(name):
raise self.ConstError, "Can't unbind const(%s)"%name
raise NameError, name
import sys