python隱藏類中屬性的3種實(shí)現(xiàn)方法
方法一:
效果圖一:
代碼一:
# 定義一個(gè)矩形的類 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 # 定義一個(gè)獲取矩形面積的方法 def get_area(self): return self.hidden_width * self.hidden_height # 創(chuàng)建Rectangle的實(shí)例 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
方法二:
效果圖二:
代碼二:
# 可以為對(duì)象的屬性使用雙下劃線開頭,__xxx # 雙下劃線開頭的屬性,是對(duì)象的隱藏屬性,隱藏屬性只能在類的內(nèi)部訪問,無法通過對(duì)象訪問 # 其實(shí)隱藏屬性只不過是Python自動(dòng)為屬性改了一個(gè)名字 # 實(shí)際上是將名字修改為了,_類名__屬性名 比如 __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) # 報(bào)錯(cuò):AttributeError: 'Person' object has no attribute '__name' #__開頭的屬性是隱藏屬性,無法通過對(duì)象訪問 p.__name = '豬八戒' # 這個(gè)設(shè)置無效,不會(huì)報(bào)錯(cuò) print(p._Person__name) p._Person__name = '沙和尚' print(p.get_name())
方法三: 常用的
效果圖三:
代碼三:
# 使用__開頭的屬性,實(shí)際上依然可以在外部訪問,所以這種方式一般不用 # 一般會(huì)將一些私有屬性(不希望被外部訪問的屬性)以_開頭 # 一般情況下,使用_開頭的屬性都是私有屬性,沒有特殊需要不要修改私有屬性 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種實(shí)現(xiàn)方法就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
- Python實(shí)現(xiàn)動(dòng)態(tài)給類和對(duì)象添加屬性和方法操作示例
- python GUI庫圖形界面開發(fā)之PyQt5控件QTableWidget詳細(xì)使用方法與屬性
- Python os模塊常用方法和屬性總結(jié)
- python圖形開發(fā)GUI庫pyqt5的詳細(xì)使用方法及各控件的屬性與方法
- python-web根據(jù)元素屬性進(jìn)行定位的方法
- Python 類的私有屬性和私有方法實(shí)例分析
- python并發(fā)編程 Process對(duì)象的其他屬性方法join方法詳解
- Python面向?qū)ο筇厥鈱傩约胺椒ń馕?/a>
相關(guān)文章
Python openpyxl模塊實(shí)現(xiàn)excel讀寫操作
這篇文章主要介紹了Python openpyxl模塊實(shí)現(xiàn)excel讀寫操作,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-06-06Python 數(shù)據(jù)可視化之Matplotlib詳解
這篇文章主要介紹了Python數(shù)據(jù)可視化庫seaborn的使用總結(jié),小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2021-11-11PyQt5中QPushButton的用法詳細(xì)解析與應(yīng)用實(shí)戰(zhàn)
PyQt5 是一個(gè)用于創(chuàng)建圖形用戶界面的 Python 綁定庫,它基于 Qt5 應(yīng)用程序框架,在 PyQt5 中,QPushButton 是一個(gè)常用的控件,用于創(chuàng)建按鈕,允許用戶通過點(diǎn)擊來觸發(fā)某些操作,本文將詳細(xì)介紹 QPushButton 的用法,并通過實(shí)際案例來展示其強(qiáng)大的功能2024-07-07對(duì)Python的交互模式和直接運(yùn)行.py文件的區(qū)別詳解
今天小編就為大家分享一篇對(duì)Python的交互模式和直接運(yùn)行.py文件的區(qū)別詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2019-06-06Django在urls.py利用函數(shù)path()配置路由時(shí)傳遞參數(shù)給調(diào)用的視圖函數(shù)的方法(推薦)
這篇文章主要介紹了Django在urls.py利用函數(shù)path()配置路由時(shí)傳遞參數(shù)給調(diào)用的視圖函數(shù)的方法(推薦),本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友參考下吧2024-01-01Python3實(shí)現(xiàn)爬取指定百度貼吧頁面并保存頁面數(shù)據(jù)生成本地文檔的方法
這篇文章主要介紹了Python3實(shí)現(xiàn)爬取指定百度貼吧頁面并保存頁面數(shù)據(jù)生成本地文檔的方法,涉及Python基于urllib模塊的頁面爬取與文件讀寫相關(guān)操作技巧,需要的朋友可以參考下2018-04-04Python實(shí)現(xiàn)視頻去抖動(dòng)功能
視頻去抖動(dòng)是視頻處理中的一項(xiàng)重要技術(shù),它可以有效地減少視頻中由于相機(jī)震動(dòng)或手持拍攝等原因而導(dǎo)致的畫面抖動(dòng),提高視頻的質(zhì)量,本文將介紹如何利用 Python 中的 OpenCV 庫實(shí)現(xiàn)視頻去抖動(dòng)的方法,并提供代碼實(shí)例,感興趣的朋友可以參考下2024-04-04