91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Python通過屬性手段實現只允許調用一次的示例講解

發布時間:2020-09-04 20:21:08 來源:腳本之家 閱讀:152 作者:grey_csdn 欄目:開發技術

如果希望一個對象的某個方法只能夠調用一次,按照我之前的慣性思維,我肯定是定義一個狀態量然后每次調用的時候修改它的值。通過查看狀態量的數值,我可以決定采取執行不同的處理。

其實,除此之外還有一種方法,不僅僅能夠實現這樣的處理,還能夠順便處理對象的屬性。

先看一下如下的代碼:

class DemoClass:
  def __init__(self):
    pass
  def AttrCheck(self):
    try:
      self.value
      print("already hasvalue")
      raise ValueAttrError
    except AttributeError:
      self.value = 0
      print(self.value)
 
obj = DemoClass()
obj.AttrCheck()
obj.AttrCheck()

程序執行結果如下:

grey@DESKTOP-3T80NPQ:/mnt/e/01_workspace/02_programme_language/03_python/03_OOP/2017/08$python attr1.py
0
already has value
Traceback (mostrecent call last):
 File "attr1.py", line 15, in<module>
 obj.AttrCheck()
 File "attr1.py", line 8, inAttrCheck
 raiseRuntimeError("multi-excued!")
RuntimeError:multi-excued!  

從上面的結果看,我們所描述到的功能已經這樣實現了!

上面的屬性是給了默認的賦值,我們當然也可以改成帶有賦值數值的形式:

class DemoClass:
  def __init__(self):
    pass
  def AttrCheck(self,value):
    try:
      self.value
      print("already hasvalue")
      raiseRuntimeError("multi-excued!")
    except AttributeError:
      self.value = value
      print(self.value)
 
obj = DemoClass()
obj.AttrCheck(123)
obj.AttrCheck(123)

程序的執行結果如下:

grey@DESKTOP-3T80NPQ:/mnt/e/01_workspace/02_programme_language/03_python/03_OOP/2017/08$python attr1.py
123
already has value
Traceback (mostrecent call last):
 File "attr1.py", line 15, in<module>
 obj.AttrCheck(123)
 File "attr1.py", line 8, in AttrCheck
 raiseRuntimeError("multi-excued!")
RuntimeError:multi-excued!

以上這篇Python通過屬性手段實現只允許調用一次的示例講解就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持億速云。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

新巴尔虎左旗| 大足县| 岢岚县| 沅江市| 威远县| 乳山市| 阳朔县| 广宗县| 广州市| 萍乡市| 宁蒗| 来安县| 饶平县| 宣武区| 奉化市| 元阳县| 台湾省| 综艺| 阿拉善左旗| 原阳县| 望谟县| 筠连县| 天门市| 永丰县| 盘山县| 浑源县| 靖远县| 且末县| 金堂县| 文水县| 师宗县| 义乌市| 阿拉尔市| 自贡市| 抚远县| 和林格尔县| 桐乡市| 宜宾市| 原平市| 南雄市| 璧山县|