Python 定義常量


常量在編寫程序的時候,一旦設定就不能再進行變動,常量一種約定俗成的方式,所有字母大寫並用下划線分隔單詞的方式(如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'

 


免責聲明!

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



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