Pythonで定数
enum --- 列挙型のサポート — Python 3.8.4rc1 ドキュメント
Python 3.4以降
code:const.py
from enum import Enum, unique # uniqueデコレータで値の重複を許さないようにできる
@unique
class Const(Enum);
HOGE = 1
FOO = 2
BAR = 3
Constant types in Python « Python recipes « ActiveState Code
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
sys.modules__name__ = _consttype()
『Python Cookbook 1st Ed.』Defining Constants
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
sys.modules__name__ = _const()
#Python