• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

关于python:python常量

python 搞代码 3年前 (2022-02-20) 26次浏览 已收录 0个评论
文章目录[隐藏]

前言

在其余语言中,咱们能够定义一些常量,这些常量值在整个程序生命周期中不会扭转。例如C/C++中有const关键字来申明常量,而后python却没有真正意义上的常量,python中该如何应用常量呢?

1. 通过命名格调

咱们常以字母全大写,字母与字母之间用下划线连贯来约定这个变量是常量,例如WINDOW_WIDTH, STUDENT_NAME。然而毛病就是这种只是约定,程序运行期间依然能够更改该变量所属值

2. 应用自定义类

新建文件名const.py,内容如下

<code class="python3">from typing import Any


class Const:


    class ConstCaseError(SyntaxError):
        pass


    class ConstError(SyntaxError):
        pass


    def __setattr__(self, name: str, value: Any) -> None:
        if self.__dict__.get(name):
            raise self.ConstError("Can't chang const.{name}".format(name=name))
        if not name.isupper():
            raise self.ConstCaseError("const name {name} is not uppercase".format(name=name))
        self.__dict__[name] = value


import sys
sys.modules[__name__] = Const()  # Const单例作为const模块

测试文件test_const.py

<code class="python3">import const  # 同级目录下

# const.name = "hello"  # const.constCaseError
const.NAME = "hello"

print(const.NAME)
const.NAME = "world"  # const.constError

搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:关于python:python常量
喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址