设计不可更改的python常量类

前言:

      Python到现在也没出来个const方法,当然我们可以使用别的方法来实现。 比如,可以使用enum来定义const… 对的,python社区里不少人这么干的,居然在邮件列表里得到不少人的认同…  

     const  有什么好处?  最直接的好处是,防止被二次修改…  上次有个cdn刷新后端项目,直接使用config.py 做配置文件,因为有逻辑冲突串改了变量,导致服务没有限频限内存,导致服务crash…  当然,首先承认这是我编码的问题… 但如果变量一开始就是不可更改的常量,我是不是早就发现该问题了。 


该文章后续会有更新, 原文地址 http://xiaorui.cc/?p=4866

实现:

第一种方法, 使用enum来定义变量,防止串改.


第二种方法,自己实现一个const类.

文件名: const.py

测试下错误:


错误的输出:

实现原理很简单,使用python类的魔法函数来定义setattr及delattr,出现重复就排除异常…  完整代码放在github里了,    https://github.com/rfyiamcool/func_instance/tree/master/const  


END.