python实现常量const

新建const.py:

--coding:UTF-8--

Filename: const.py

定义一个常量类实现常量的功能

# 该类定义了一个方法setattr(),和一个异常ConstError, ConstError类继承

自类TypeError. 通过调用类自带的字典dict, 判断定义的常量是否包含在字典

如果字典中包含此变量,将抛出异常,否则,给新创建的常量赋值。

最后两行代码的作用是把const类注册到sys.modules这个全局字典中。

class _const:

class ConstError(TypeError):pass

def __setattr__(self, name, value):

    if self.__dict__.has_key(name):

        raise self.ConstError, "Can't rebind const (%s)" %name

    self.__dict__[name]=value

import sys

sys.modules[name] = _const()

新建test.py:

--coding:UTF-8--

import const

const.magic = 23

print const.magic

const.magic = 33

结果:

image
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 模块和包 一 模块 1 什么是模块? 常见的场景:一个模块就是一个包含了python定义和声明的文件,文件名就是...
    go以恒阅读 6,725评论 0 4
  • 一、Python简介和环境搭建以及pip的安装 4课时实验课主要内容 【Python简介】: Python 是一个...
    _小老虎_阅读 11,119评论 0 10
  • 个人笔记,方便自己查阅使用 Py.LangSpec.Contents Refs Built-in Closure ...
    freenik阅读 67,816评论 0 5
  • 2017.11.03 有一颗苹果 吃到剩下最后一口给你的 是母子关系 一口舍不得吃都给你的 也是母子关系 早上还在...
    啤酒加烟阅读 4,019评论 0 2
  • 缘散 川夏 知己难得千杯酒,四去二三泪长流。自是缘散多愁苦,玉盘孤影一醉休。
    上川夏春阅读 1,066评论 0 1