Python中常量的另一种实现

发布时间:2019-06-08 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了Python中常量的另一种实现脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。

虽然在python中定义常量看起来有点违背python的动态性,但是在teamwork当中,rule is rule,常量作为一种合作的契约,还是很有必要的。

回到常量本身,常量应该是一种明确并且一旦初始化便不可更改的值,或作为协议的实现,或作为契约的存在。

网络上关于实现python的const,基本使用python的__getattr__,__setattr__来实现的,今天给大家介绍一种更简便实现常量的方法,它就是__slots__。


#const.py
import sys 

class Const(object):
    __slots__ = ('STATUS_OK', 'STATUS_TIMOUT', 'STATUS_ERROR')
    STATUS_OK = 1000
    STATUS_TIMOUT = 1001
    STATUS_ERROR = 1005

sys.modules[__name__] = Const()

接下来就可以看看运行效果了!

>>> import const
>>> print const.STATUS_OK
1000
>>> const.STATUS_OK=1
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
AttributeError: 'Const' object attribute 'STATUS_OK' is read-only
>>> 

ps:注册这么久,只为sf做出这么一点微小的工作,很惭愧。

脚本宝典总结

以上是脚本宝典为你收集整理的Python中常量的另一种实现全部内容,希望文章能够帮你解决Python中常量的另一种实现所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签: