1. 程式人生 > 程式設計 >Python面向物件之私有屬性和私有方法應用案例分析

Python面向物件之私有屬性和私有方法應用案例分析

本文例項講述了Python面向物件之私有屬性和私有方法。分享給大家供大家參考,具體如下:

01. 應用場景及定義方式

應用場景

在實際開發中,物件 的 某些屬性或方法 可能只希望 在物件的內部被使用,而 不希望在外部被訪問到
私有屬性 就是 物件 不希望公開的 屬性
私有方法 就是 物件 不希望公開的 方法

定義方式

在 定義屬性或方法時,在 屬性名或者方法名前 增加 兩個下劃線,定義的就是 私有 屬性或方法

class Women:
  def __init__(self,name):
    self.name = name
    # 不要問女生的年齡
    self.__age = 18
  def __secret(self):
    print("我的年齡是 %d" % self.__age)
xiaofang = Women("小芳")
# 私有屬性,外部不能直接訪問
# print(xiaofang.__age)
# 私有方法,外部不能直接呼叫
# xiaofang.__secret()

02. 偽私有屬性和私有方法(科普)

提示:在日常開發中,不要使用這種方式,訪問物件的 私有屬性 或 私有方法

Python 中,並沒有 真正意義 的 私有

在給 屬性、方法 命名時,實際是對 名稱 做了一些特殊處理,使得外界無法訪問到

處理方式:在 名稱 前面加上 _類名 => _類名__名稱

# 私有屬性,外部不能直接訪問到
print(xiaofang._Women__age)
# 私有方法,外部不能直接呼叫
xiaofang._Women__secret()

更多關於Python相關內容感興趣的讀者可檢視本站專題:《Python面向物件程式設計入門與進階教程》、《Python資料結構與演算法教程》、《Python函式使用技巧總結》、《Python字串操作技巧彙總》、《Python編碼操作技巧總結》及《Python入門與進階經典教程》

希望本文所述對大家Python程式設計有所幫助。