国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

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

2020-02-22 23:47:18
字體:
來源:轉載
供稿:網友

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

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

先看一下如下的代碼:

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.py0already has valueTraceback (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.py123already has valueTraceback (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通過屬性手段實現只允許調用一次的示例講解就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持武林站長站。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 土默特右旗| 广安市| 确山县| 平阴县| 阜南县| 临夏市| 两当县| 新昌县| 蒲城县| 灵宝市| 滦南县| 宁波市| 凤山县| 来宾市| 洪雅县| 基隆市| 丽江市| 冕宁县| 邵东县| 万载县| 吉木乃县| 罗田县| 商河县| 安宁市| 华安县| 奇台县| 鹤壁市| 县级市| 涞水县| 宁明县| 日土县| 天镇县| 原阳县| 上高县| 扎兰屯市| 尖扎县| 正镶白旗| 项城市| 汝南县| 五指山市| 疏附县|