zoukankan      html  css  js  c++  java
  • 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'

  • 相关阅读:
    terraform入门操作指南
    linux常用命令
    pssh用法范例
    nginx共享内存使用
    Redis监控指标[转]
    xargs用法笔记
    systemd用法记录一
    esxcli部分常用命令
    lua自定义功能模块table类型转string类型
    curl用法笔记
  • 原文地址:https://www.cnblogs.com/WebLinuxStudy/p/11840292.html
Copyright © 2011-2022 走看看