Python 没有自带的常量语法
- 一般我们使用全大写字母的变量声明一个常量。
- 这只是一种约定俗成的办法, 起始还是可以更改变量的值。
但是我们可以尝试使用一下方法生成一个常量:
class _const:
class ConstError(TypeError): pass
class ConstCaseError(ConstError): pass
def __setattr__(self, name, value):
if self.__dict__.has_key(name):
raise self.ConstError, "Can't change const.%s" % name
if not name.isupper():
raise self.ConstCaseError, \
'const name "%s" is not all uppercase' % name
self.__dict__[name] = value
import sys
sys.modules[__name__]=_const()