# -*- coding: utf-8 -*-
# filename: const.py
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()
該類定義了乙個方法setattr(),和乙個異常consterror,consterror類繼承自類typeerror.
通過呼叫類自帶的字典dict, 判斷定義的常量是否包含在字典中。如果字典中包含此變數,將丟擲異常,否則,給新建立的常量賦值.
最後兩行**的作用是把const類註冊到sys.modules這個全域性字典中。
pass的用法可以參考 python pass的用法
raise 丟擲異常,後面的**均不執行
具體用法可參考 python中的異常處理
python語言常量 Python 定義常量
python python開發 python語言 python 定義常量 常量在編寫程式的時候,一旦設定就不能再進行變動,常量一種約定俗成的方式,所有字母大寫並用下劃線分隔單詞的方式 如max value,out time等 但是python沒有提供設定常量用法,需要自己自定義類實現常量功能。自定義...
Python定義常量
i 訪問字典的元素使用dobj.get key somethingelse 如果對應key值元素不存在,你將會得到somethingelse值,例如 not found 不要使用dobj key 因為如果key對應元素不存在,則會產生keyerror異常,這樣必須使用try except來封裝 ii...
python定義常量
max client 100max connection 1000 connection timeout 600import sys 該類定義了乙個方法 setattr 和乙個異常consterror,consterror類繼承 自類typeerror.通過呼叫類自帶的字典 dict 判斷定義的常量...