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

溫馨提示×

溫馨提示×

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

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

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

阆中市| 邵东县| 集安市| 太白县| 枣强县| 崇文区| 绵阳市| 平顶山市| 安国市| 衡东县| 曲靖市| 库尔勒市| 东山县| 绵竹市| 长顺县| 如皋市| 新蔡县| 汝阳县| 德兴市| 汶上县| 新干县| 高邮市| 五大连池市| 沙田区| 晋宁县| 兰考县| 吉林市| 洱源县| 石门县| 无极县| 团风县| 大安市| 甘孜| 莱州市| 白朗县| 泰顺县| 敦煌市| 晋江市| 盐源县| 邮箱| 宿州市|