资讯专栏INFORMATION COLUMN

Python中常量的另一种实现

Wuv1Up / 680人阅读

摘要:虽然在中定义常量看起来有点违背的动态性,但是在当中,,常量作为一种合作的契约,还是很有必要的。回到常量本身,常量应该是一种明确并且一旦初始化便不可更改的值,或作为协议的实现,或作为契约的存在。

虽然在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 "", line 1, in 
AttributeError: "Const" object attribute "STATUS_OK" is read-only
>>> 

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

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/37643.html

相关文章

  • 小李飞刀:ppppppython你好哇

    摘要:的被设定为装饰器可以帮助我们检查保证没有重复值。错误记录等解释器打印错误栈的信息,程序也结束了。将通过配置记录到日志文件中方便后续的排查。同理,指定后,和就不起作用了。启动的调试器,让程序以单步方式运行。 日常的写在前面 难得的周末,有大段的时间可以用来学习,体验就和工作日的晚上完全不一样了。好好的沉下心学习下~即刻很喜欢了! 好好学习的分割线 打打打鸡血!!!!!! 面向对象高级编程...

    greatwhole 评论0 收藏0
  • 什么是 Python 编程语言?

    摘要:由设计,作为编程语言的继承者,于年首次发布。表达式表达式是编程语言中的语法实体,可以对其进行评估以确定其值。它是编程语言解释和计算以产生值的常量变量函数和运算符的组合。它在年年年和年被评为年度编程语言,是唯一四次获得该奖项的语言。 ...

    1treeS 评论0 收藏0
  • Python标准库---8、内置常量

    摘要:上一篇文章标准库内置函数下一篇文章标准库内置类型逻辑值检测布尔运算比较内置常量有少数的常量存在于内置命名空间中。给赋值是非法的并会引发。如果所有尝试都返回,则解释器将引发适当的异常。如果没有以选项启动,则此常量为真值。 上一篇文章:Python标准库---7、内置函数(V-W-X-Y-Z)下一篇文章:Python标准库---9、内置类型:逻辑值检测、布尔运算、比较 内置常量 有少数的...

    gplane 评论0 收藏0
  • Python 的 10 个常见安全漏洞,以及如何避免(下)

    摘要:在考虑安全性时,你需要考虑如何避免被滥用,也不例外,即使在标准库中,也存在用于编写应用的不良实践。修复使用替换标准库模块,它增加了针对这些类型攻击的安全防护。但这却是中最大的安全漏洞之一。 简评:编写安全代码很困难,当你学习一个编程语言、模块或框架时,你会学习其使用方法。 在考虑安全性时,你需要考虑如何避免被滥用,Python也不例外,即使在标准库中,也存在用于编写应用的不良实践。然而...

    PiscesYE 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<