Python類如何定義私有變量
這篇文章主要介紹了Python類如何定義私有變量,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
前言
在java 的類中,如果你要定義一個私有變量,可以用修飾詞 private,那么在Python 的類中呢,Python中沒public private之類的修飾詞,那Python 是如何定義私有變量的呢?
私有變量
在Python 類中定義私有變量,只要在變量前加 __ (兩個下劃線) ,那么該類的實例就不能引用了,看下面實例
>>> class demo(object): ... __a =1 ... b = 2 ... >>> d = demo() >>> print(d.b) >>> d.__a Traceback (most recent call last): File "<stdin>", line 1, in <module> AttributeError: 'demo' object has no attribute '__a'
從上面的示例中可以看到,類demo的實例d可以不能調(diào)用變量__a,那實例d 有沒有辦法調(diào)用到__a呢,看下面的調(diào)用語法:
>>> d._demo__a 1
實例名+'_'+類名+私有變量 ,就能調(diào)用。大家記住這樣的語法。
私有方法
私有方法同私有變量的語法也是一樣的,我們直接看示例:
>>> class fun(object): ... def __a(self): ... print('聚焦學院AAA') ... def b(self): ... print('聚焦學院BBB') ... >>> f = fun() >>> f.b() 聚焦學院BBB >>> f.__a() Traceback (most recent call last): File "<stdin>", line 1, in <module> AttributeError: 'fun' object has no attribute '__a' >>> f._fun__a() 聚焦學院AAA
從上面的示例中可以看到,類的實例要調(diào)用私有方法也是和調(diào)用私有變量的語法一樣。
以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
淺談Scrapy網(wǎng)絡(luò)爬蟲框架的工作原理和數(shù)據(jù)采集
在python爬蟲中:requests + selenium 可以解決目前90%的爬蟲需求,難道scrapy 是解決剩下的10%的嗎?顯然不是。scrapy框架是為了讓我們的爬蟲更強大、更高效。接下來我們一起學習一下它吧。2019-02-02巧妙使用Python裝飾器處理if...elif...else
大家好,今天在 Github 閱讀 EdgeDB[1] 的代碼,發(fā)現(xiàn)它在處理大量if…elif…else的時候,巧妙地使用了裝飾器,方法設(shè)計精巧,分享給大家一下,歡迎收藏學習,喜歡點贊支持2021-11-11Python網(wǎng)絡(luò)編程之HTTP協(xié)議的python應(yīng)用
HTTP是在網(wǎng)絡(luò)上傳輸HTML的協(xié)議,用于瀏覽器和服務(wù)器的通信,這篇文章主要介紹了Python網(wǎng)絡(luò)編程之HTTP協(xié)議的python應(yīng)用,需要的朋友可以參考下2022-11-11Python使用matplotlib創(chuàng)建Gif動圖的思路
這篇文章主要介紹了Python使用matplotlib創(chuàng)建Gif動圖,我們將討論matplotlib提供的名為“Animation”的動畫庫之一,Python二維繪圖庫是Matplolib可以輕松創(chuàng)建繪圖、直方圖、條形圖、散點圖等,需要的朋友可以參考下2022-04-04Python 迭代,for...in遍歷,迭代原理與應(yīng)用示例
這篇文章主要介紹了Python 迭代,for...in遍歷,迭代原理與應(yīng)用,結(jié)合實例形式分析了Python迭代與遍歷的相關(guān)操作技巧與使用注意事項,需要的朋友可以參考下2019-10-10windows系統(tǒng)IIS部署Django項目的實踐
采用IIS服務(wù)器部署相比django提供的開發(fā)者服務(wù)器具有更好的并發(fā)訪問能力,性能更加穩(wěn)定,本文主要介紹了windows系統(tǒng)IIS部署Django項目的實踐,具有一定的參考價值,感興趣的可以了解一下2022-03-03Python選擇網(wǎng)卡發(fā)包及接收數(shù)據(jù)包
今天小編就為大家分享一篇關(guān)于Python選擇網(wǎng)卡發(fā)包及接收數(shù)據(jù)包,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧2019-04-04