你好,我是刚学习 python,版本是 python3.x 的,今天写了一个 const 的文件,用于定义常量,如果重复赋值就会报错,但是现在的问题是,报错信息却不是我的预期信息,请问是怎么回事呢?
const.py====================================================
import sys
class ConstError(TypeError):pass
class _const(object):
def __setattr__(self,name,value):
if name in self.__dict__:
raise self.ConstError("Can't rebind const(%s)"%name)
self.__dict__[name]=value
sys.modules[__name__]=_const()
===================================================
useConst
===================================================
import const
const.value = 12
const.value = 13
print (const.value)
报错信息:
Traceback (most recent call last):
AttributeError:'_const'object has no attribute 'ConstError'
我的预期抛错信息应该是 Can't rebind const(value)的,请问是怎么回事呢?
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
https://www.v2ex.com/t/240295
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.