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

溫馨提示×

溫馨提示×

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

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

python隱藏類中屬性的3種實現方法

發布時間:2020-10-08 15:39:46 來源:腳本之家 閱讀:158 作者:人生與戲 欄目:開發技術

方法一:

效果圖一:

python隱藏類中屬性的3種實現方法

代碼一:

# 定義一個矩形的類
class Rectangle:
  # 定義初始化方法
  def __init__(self,width,height):
    self.hidden_width = width
    self.hidden_height = height

  # 定義獲取width、height的方法
  def get_width(self):
    return self.hidden_width

  def get_height(self):
    return self.hidden_height

  # 定義修改width、height的方法
  def set_width(self,width):
    self.hidden_width = width

  def set_height(self,height):
    self.hidden_height = height

  # 定義一個獲取矩形面積的方法
  def get_area(self):
    return self.hidden_width * self.hidden_height

# 創建Rectangle的實例
r_one = Rectangle(3,4)
# 輸出打印 r_one的widh
print(r_one.get_width())  # 輸出 3
# 輸出打印 r_one的area
print(r_one.get_area())  # 輸出 12

# 改變width
r_one.set_width(5)
print(r_one.get_area())   # 輸出 20

方法二:

效果圖二:

python隱藏類中屬性的3種實現方法

代碼二:

# 可以為對象的屬性使用雙下劃線開頭,__xxx
# 雙下劃線開頭的屬性,是對象的隱藏屬性,隱藏屬性只能在類的內部訪問,無法通過對象訪問
# 其實隱藏屬性只不過是Python自動為屬性改了一個名字
#  實際上是將名字修改為了,_類名__屬性名 比如 __name -> _Person__name
class Person:
  def __init__(self,name):
    self.__name = name

  def get_name(self):
    return self.__name

  def set_name(self , name):
    self.__name = name    

p = Person('孫悟空')

# print(p.__name) # 報錯:AttributeError: 'Person' object has no attribute '__name'
         #__開頭的屬性是隱藏屬性,無法通過對象訪問
p.__name = '豬八戒' # 這個設置無效,不會報錯
print(p._Person__name)
p._Person__name = '沙和尚'

print(p.get_name())

方法三: 常用的

效果圖三:

python隱藏類中屬性的3種實現方法

代碼三:

# 使用__開頭的屬性,實際上依然可以在外部訪問,所以這種方式一般不用
#  一般會將一些私有屬性(不希望被外部訪問的屬性)以_開頭
#  一般情況下,使用_開頭的屬性都是私有屬性,沒有特殊需要不要修改私有屬性
class Person:
  def __init__(self,name):
    self._name = name

  def get_name(self):
    return self._name

  def set_name(self,name):
    self._name = name

p = Person('牛一')

print(p._name)

以上這篇python隱藏類中屬性的3種實現方法就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持億速云。

向AI問一下細節

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

AI

和平县| 嵊泗县| 遂川县| 府谷县| 从江县| 和平县| 霍山县| 泊头市| 比如县| 恩施市| 阳谷县| 哈巴河县| 天峻县| 广丰县| 斗六市| 开封市| 山丹县| 井研县| 手游| 阜阳市| 上高县| 修水县| 潼南县| 凤庆县| 水城县| 资源县| 谢通门县| 略阳县| 凤山市| 华亭县| 武穴市| 宣城市| 衢州市| 万年县| 丰台区| 阳城县| 改则县| 东宁县| 根河市| 兴业县| 石家庄市|