亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

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

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

python基于property()函數定義屬性

發布時間:2020-10-20 15:51:03 來源:腳本之家 閱讀:132 作者:xiaobaizzZ 欄目:開發技術

這篇文章主要介紹了python基于property()函數定義屬性,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下

正常情況下,類包含的屬性應該是隱藏的,只允許通過類提供的方法來間接的實現對類屬性的訪問和操作。

class Person:
  #構造函數
  def __init__(self, name):
    self.name = name
  #設置name屬性值的函數
  def setname(self, name):
    self.name = name
  #訪問name屬性值的函數
  def getname(self):
    return self.name
  #刪除name屬性值的函數
  def delname(self):
    self.name = "xxx"
xiaobai = Person("xiaobai")
#獲取name屬性值
print(xiaobai.getname())
#設置name屬性值
xiaobai.setname("xiaohei")
print(xiaobai.getname())
#刪除name屬性值
xiaobai.delname()
print(xiaobai.getname())
xiaobai
xiaohei
xxx

python中提供了property()函數,可以實現在不破壞類封裝原則的前提下,讓開發者依舊使用“類對象.屬性”的方式操作類中的屬性。

class Person:
  #構造函數
  def __init__(self, name):
    self.__name = name #雙前導下劃線(私有屬性)會導致解釋器重寫屬性名稱,以避免子類中的命名沖突
  #設置name屬性值的函數
  def setname(self, name):
    self.__name = name
  #訪問name屬性值的函數
  def getname(self):
    return self.__name
  #刪除name屬性值的函數
  def delname(self):
    self.__name = "xxx"
  #為name屬性配置property()函數
  name = property(getname, setname, delname, '說明文檔')
#調取說明文檔的兩種方式
print(Person.name.__doc__)
help(Person.name)
xiaobai = Person("xiaobai")
#獲取name屬性值
print(xiaobai.name)
#設置name屬性值
xiaobai.name = "xiaohei"
print(xiaobai.name)
#刪除name屬性值
del xiaobai.name
print(xiaobai.name)
說明文檔
Help on property:

  說明文檔

xiaobai
xiaohei
xxx

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持億速云。

向AI問一下細節

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

AI

大名县| 新乐市| 孟村| 乐平市| 和平县| 开江县| 芒康县| 定南县| 庆安县| 公主岭市| 镇安县| 闽清县| 曲周县| 南漳县| 达日县| 水城县| 三河市| 安图县| 饶平县| 拜城县| 广宗县| 肥西县| 郯城县| 府谷县| 买车| 大埔区| 华阴市| 凤庆县| 恩施市| 茌平县| 阿尔山市| 原平市| 海晏县| 乡城县| 岱山县| 唐海县| 合山市| 五莲县| 吐鲁番市| 钟山县| 新营市|