python隱藏類中屬性的3種實現(xiàn)方法
方法一:
效果圖一:

代碼一:
# 定義一個矩形的類
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
# 創(chuàng)建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
方法二:
效果圖二:

代碼二:
# 可以為對象的屬性使用雙下劃線開頭,__xxx
# 雙下劃線開頭的屬性,是對象的隱藏屬性,隱藏屬性只能在類的內(nèi)部訪問,無法通過對象訪問
# 其實隱藏屬性只不過是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 = '豬八戒' # 這個設(shè)置無效,不會報錯
print(p._Person__name)
p._Person__name = '沙和尚'
print(p.get_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)
以上這篇python隱藏類中屬性的3種實現(xiàn)方法就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
Python openpyxl模塊實現(xiàn)excel讀寫操作
這篇文章主要介紹了Python openpyxl模塊實現(xiàn)excel讀寫操作,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2020-06-06
Python 數(shù)據(jù)可視化之Matplotlib詳解
這篇文章主要介紹了Python數(shù)據(jù)可視化庫seaborn的使用總結(jié),小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2021-11-11
PyQt5中QPushButton的用法詳細(xì)解析與應(yīng)用實戰(zhàn)
PyQt5 是一個用于創(chuàng)建圖形用戶界面的 Python 綁定庫,它基于 Qt5 應(yīng)用程序框架,在 PyQt5 中,QPushButton 是一個常用的控件,用于創(chuàng)建按鈕,允許用戶通過點擊來觸發(fā)某些操作,本文將詳細(xì)介紹 QPushButton 的用法,并通過實際案例來展示其強大的功能2024-07-07
對Python的交互模式和直接運行.py文件的區(qū)別詳解
今天小編就為大家分享一篇對Python的交互模式和直接運行.py文件的區(qū)別詳解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-06-06
Django在urls.py利用函數(shù)path()配置路由時傳遞參數(shù)給調(diào)用的視圖函數(shù)的方法(推薦)
這篇文章主要介紹了Django在urls.py利用函數(shù)path()配置路由時傳遞參數(shù)給調(diào)用的視圖函數(shù)的方法(推薦),本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友參考下吧2024-01-01
Python3實現(xiàn)爬取指定百度貼吧頁面并保存頁面數(shù)據(jù)生成本地文檔的方法
這篇文章主要介紹了Python3實現(xiàn)爬取指定百度貼吧頁面并保存頁面數(shù)據(jù)生成本地文檔的方法,涉及Python基于urllib模塊的頁面爬取與文件讀寫相關(guān)操作技巧,需要的朋友可以參考下2018-04-04

