一下是代码:#code=utf-8class_const(object):classConstError(TypeError):passdef__setattr__(self,name,value):ifnameinself:raiseself.ConstError("Can'trebindconst(%s)"%name)se...
一下是代码:
# code=utf-8
class _const(object):
class ConstError(TypeError):pass
def __setattr__(self, name, value):
if name in self:
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)
import sys
sys.modules[__name__] = _const()
调用:
import const
# 1.定义常量
const.value = 5
错误:
D:\Python34\python.exe E:/ZCY/Python/FirstPythonProject/BasicGrammar/BasicGrammar_2.py
Traceback (most recent call last):
File "E:/ZCY/Python/FirstPythonProject/BasicGrammar/BasicGrammar_2.py", line 4, in
const.value = 5
File "D:\Python34\lib\const.py", line 6, in __setattr__
if name in self:
TypeError: argument of type '_const' is not iterable
展开