欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

Python 定义常量

程序员文章站 2023-10-29 11:08:16
常量在编写程序的时候,一旦设定就不能再进行变动,常量一种约定俗成的方式,所有字母大写并用下划线分隔单词的方式(如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'