Python3声明常量

来源:互联网 发布:mac开机启动迅雷 编辑:程序博客网 时间:2024/06/03 13:55

以下代码可在jupyter、pycharm等上使用

首先声明一个常量类:

class _const(object):
    class ConstError(PermissionError): pass
    def __setattr__(self, name, value):
        if name in self.__dict__.keys():
            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()


声明后的使用:

constant = _const()
constant.value = 3    #value常量值3
constant.maxVal = 15  #maxVal 常量值15
print(constant.value)   #输出3
print(constant.maxVal)

若再对constant.value赋值:constant.value = 4  

报错如下:

----> 7             raise self.ConstError( "Can't rebind const(%s)" % name)      8         self.__dict__[name] = value      9 ConstError: Can't rebind const(value)
常量值不可更改。则constant.value和constant.maxVal就可作为常量使用了。



      ----Python初学者小小经验----

0 0