python基礎(chǔ)知識(shí)之私有屬性和私有方法
私有權(quán)限
面向?qū)ο笕筇匦裕悍庋b、繼承、多態(tài)
封裝的意義:
- 將屬性和方法放到一起做為一個(gè)整體,然后通過(guò)實(shí)例化對(duì)象來(lái)處理;
- 隱藏內(nèi)部實(shí)現(xiàn)細(xì)節(jié),只需要和對(duì)象及其屬性和方法交互就可以了;
- 對(duì)類(lèi)的屬性和方法增加 訪(fǎng)問(wèn)權(quán)限控制。
私有權(quán)限:在屬性名和方法名 前面 加上兩個(gè)下劃線(xiàn) __
- 類(lèi)的私有屬性 和 私有方法,都不能通過(guò)對(duì)象直接訪(fǎng)問(wèn),但是可以在本類(lèi)內(nèi)部訪(fǎng)問(wèn);
- 類(lèi)的私有屬性 和 私有方法,都不會(huì)被子類(lèi)繼承,子類(lèi)也無(wú)法訪(fǎng)問(wèn);
- 私有屬性 和 私有方法 往往用來(lái)處理類(lèi)的內(nèi)部事情,不通過(guò)對(duì)象處理,起到安全作用。
私有屬性
""" 私有屬性,只需要在原屬性名前加上兩個(gè)下劃線(xiàn),即可 目的: 保證數(shù)據(jù)的相對(duì)安全, 想要訪(fǎng)問(wèn)和使用私有屬性: 定義一個(gè)公有的方法,通過(guò)這個(gè)方法使用 """ # 案例需求: 定義People 類(lèi), 定義屬性 ICBC_money , 錢(qián)不能隨便被修改,必須是合法的終端才可以操作 class People(object): def __init__(self): # python中的私有本質(zhì)是 修改屬性的名字, 在創(chuàng)建對(duì)象的時(shí)候,會(huì)自動(dòng)的修改屬性名 # 在屬性名的前邊加上 _類(lèi)名前綴 self.__ICBC_money = 0 # 定義私有屬性 # 定義公有的方法,提供接口,修改余額 def get_money(self): return self.__ICBC_money def set_money(self, money): num = input('輸入金額:') self.__ICBC_money += int(num) # self.__ICBC_money += money # 創(chuàng)建People類(lèi)對(duì)象 xw = People() # 實(shí)例對(duì)象.__dict__ 可以查看對(duì)象具有的屬性信息,類(lèi)型是字典,字典的key是屬性名, 字典的value是屬性值 print('賦值之前:', xw.__dict__) # print(xw.__ICBC_money) xw.__ICBC_money = 1000 # 不是修改私有屬性,是重新添加一個(gè)公有屬性 print('賦值之后:', xw.__dict__) print(xw.__ICBC_money) print('=' * 20) print(xw.get_money()) # 0 xw.set_money(1000) print(xw.get_money()) # 1000 xw.set_money(-500) print(xw.get_money()) # 500
私有方法
""" 私有方法: 在方法的前邊加上兩個(gè)__ ,就為私有方法 私有方法,不能在類(lèi)外部訪(fǎng)問(wèn) 作用: 一般作為類(lèi)內(nèi)部的方法使用,不讓在外部直接調(diào)用, 保證業(yè)務(wù)邏輯不被破壞 """ class Dog(object): def born(self): """生小狗的方法, 生一個(gè)小狗,休息30天""" print('生了一只小狗...') self.__sleep() def __sleep(self): print('休息30天') dog = Dog() # dog.__sleep() dog.born()
到此這篇關(guān)于python基礎(chǔ)知識(shí)之私有屬性和私有方法的文章就介紹到這了,更多相關(guān)python私有屬性和私有方法內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Python numpy.array()生成相同元素?cái)?shù)組的示例
今天小編就為大家分享一篇Python numpy.array()生成相同元素?cái)?shù)組的示例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-11-11單身狗福利?Python爬取某婚戀網(wǎng)征婚數(shù)據(jù)
今天我就當(dāng)回媒婆,給男性程序員來(lái)點(diǎn)福利.今天目標(biāo)爬取征婚網(wǎng)上呈現(xiàn)出來(lái)的女生信息保存成excel表格供大家篩選心儀的女生,需要的朋友可以參考下2021-06-06Python將list中的string批量轉(zhuǎn)化成int/float的方法
今天小編就為大家分享一篇Python將list中的string批量轉(zhuǎn)化成int/float的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-06-06python二維碼操作:對(duì)QRCode和MyQR入門(mén)詳解
今天小編就為大家分享一篇python二維碼操作:對(duì)QRCode和MyQR入門(mén)詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-06-06python opencv 讀取本地視頻文件 修改ffmpeg的方法
今天小編就為大家分享一篇python opencv 讀取本地視頻文件 修改ffmpeg的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-01-01django 創(chuàng)建過(guò)濾器的實(shí)例詳解
這篇文章主要介紹了django 創(chuàng)建過(guò)濾器的實(shí)例詳解的相關(guān)資料,主要說(shuō)明django 創(chuàng)建過(guò)濾器來(lái)統(tǒng)一處理字符串,需要的朋友可以參考下2017-08-08對(duì)python 讀取線(xiàn)的shp文件實(shí)例詳解
今天小編就為大家分享一篇對(duì)python 讀取線(xiàn)的shp文件實(shí)例詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-12-12基于Python的微信機(jī)器人開(kāi)發(fā) 微信登錄和獲取好友列表實(shí)現(xiàn)解析
這篇文章主要介紹了Python微信機(jī)器人開(kāi)發(fā) 微信登錄和獲取好友列表實(shí)現(xiàn)解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-08-08