python實(shí)現(xiàn)常量const

新建const.py:

--coding:UTF-8--

Filename: const.py

定義一個常量類實(shí)現(xiàn)常量的功能

# 該類定義了一個方法setattr(),和一個異常ConstError, ConstError類繼承

自類TypeError. 通過調(diào)用類自帶的字典dict, 判斷定義的常量是否包含在字典

如果字典中包含此變量,將拋出異常,否則,給新創(chuàng)建的常量賦值。

最后兩行代碼的作用是把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

結(jié)果:

image
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 模塊和包 一 模塊 1 什么是模塊? 常見的場景:一個模塊就是一個包含了python定義和聲明的文件,文件名就是...
    go以恒閱讀 2,348評論 0 4
  • 一、Python簡介和環(huán)境搭建以及pip的安裝 4課時實(shí)驗(yàn)課主要內(nèi)容 【Python簡介】: Python 是一個...
    _小老虎_閱讀 6,350評論 0 10
  • 個人筆記,方便自己查閱使用 Py.LangSpec.Contents Refs Built-in Closure ...
    freenik閱讀 67,951評論 0 5
  • 2017.11.03 有一顆蘋果 吃到剩下最后一口給你的 是母子關(guān)系 一口舍不得吃都給你的 也是母子關(guān)系 早上還在...
    啤酒加煙閱讀 798評論 0 2
  • 緣散 川夏 知己難得千杯酒,四去二三淚長流。自是緣散多愁苦,玉盤孤影一醉休。
    上川夏春閱讀 170評論 0 1

友情鏈接更多精彩內(nèi)容