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

 

結果:

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM