常量在編寫程式的時候,一旦設定就不能再進行變動,常量一種約定俗成的方式,所有字母大寫並用下劃線分隔單詞的方式(如max_value, out_time等),但是python沒有提供設定常量用法,需要自己自定義類實現常量功能。
自定義類實現常量功能
這種辦法就是解決簡單用全大寫和下劃線定義固定變數無法解決篡改的問題。
下面是乙個例子:
建立乙個 constant.py 檔案,在其中建立const類
class const():
class consterror(typeerror):
pass
class constcaseerror(consterror):
pass
def __setattr__(self, key, value):
if key in self.__dict__.keys():
# 存在性驗證
raise self.consterror("can't change a const variable: '%s'" % key)
if not key.isupper():
# 語法規範驗證
raise self.constcaseerror("const variable must be combined with upper letters:'%s'" % key)
self.__dict__[key] = value
如何使用自定義常量類
from constant import const
const = const()
const.test = 'hh'
print(const.test)
# 嘗試修改變數
const.test = 'jj'
# 嘗試常量名稱為小寫字母
const.test = 'hh'
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定義常量
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...