006_002 Python 定義常量 可以新增新的屬性,但是不能修改刪除已有的屬性
阿新 • • 發佈:2018-12-30
程式碼如下:
#encoding=utf-8 print '中國' #定義常量 可以新增新的屬性,但是不能修改刪除已有的屬性 #核心在於不能刪除 不能修改 class _const(object): class ConstError(TypeError): pass def __setattr__(self, name, value): if name in self.__dict__: raise self.ConstError, "Can't rebind const(%s)" % name self.__dict__[name] = value def __delattr__(self, name): if name in self.__dict__: raise self.ConstError, "Can't unbind const(%s)" % name raise NameError, name const=_const() const.magic = 23 # Exception del const.magic # Exception const.magic=24
列印結果如下:
中國
Traceback (most recent call last):
File "F:\workspace\StudyPy\src\basic\study006_002.py", line 23, in <module>
del const.magic
File "F:\workspace\StudyPy\src\basic\study006_002.py", line 15, in __delattr__
raise self.ConstError, "Can't unbind const(%s)" % name
__main__.ConstError: Can't unbind const(magic)