加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

Python 定义常量

发布时间:2020-12-20 10:11:50 所属栏目:Python 来源:网络整理
导读:常量在编写程序的时候,一旦设定就不能再进行变动,常量一种约定俗成的方式,所有字母大写并用下划线分隔单词的方式(如MAX_VALUE,OUT_TIME等),但是python没有提供设置常量用法,需要自己自定义类实现常量功能。 自定义类实现常量功能 这种办法就是解决简

常量在编写程序的时候,一旦设定就不能再进行变动,常量一种约定俗成的方式,所有字母大写并用下划线分隔单词的方式(如MAX_VALUE,OUT_TIME等),但是python没有提供设置常量用法,需要自己自定义类实现常量功能。

自定义类实现常量功能

这种办法就是解决简单用全大写和下划线定义固定变量无法解决篡改的问题。
下面是一个例子:
创建一个 constant.py 文件,在其中创建const类

class Const():
  class ConstError(TypeError):
    pass

  class ConstCaseError(ConstError):
    pass

  def __setattr__(self,key,value):
    if key in self.__dict__.keys():
      # 存在性验证
      raise self.ConstError("Can't change a const variable: '%s'" % key)
    if not key.isupper():
      # 语法规范验证
      raise self.ConstCaseError("Const variable must be combined with upper letters:'%s'" % key)
    self.__dict__[key] = value

?

如何使用自定义常量类
from constant import Const

const = Const()

const.TEST = 'HH'
print(const.TEST)
# 尝试修改变量
const.TEST = 'JJ'
# 尝试常量名称为小写字母
const.test = 'HH'

?

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读