Python類如何定義私有變量
這篇文章主要介紹了Python類如何定義私有變量,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
前言
在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('聚焦學(xué)院AAA')
... def b(self):
... print('聚焦學(xué)院BBB')
...
>>> f = fun()
>>> f.b()
聚焦學(xué)院BBB
>>> f.__a()
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
AttributeError: 'fun' object has no attribute '__a'
>>> f._fun__a()
聚焦學(xué)院AAA
從上面的示例中可以看到,類的實例要調(diào)用私有方法也是和調(diào)用私有變量的語法一樣。
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
python使用pika庫調(diào)用rabbitmq參數(shù)使用詳情
這篇文章主要介紹了python使用pika庫調(diào)用rabbitmq參數(shù)使用詳情,文章通過展開文章主題分享了三種方式,具有一定的參考價值,需要的朋友可以參考一下2022-08-08
PyTorch?Distributed?Data?Parallel使用詳解
這篇文章主要為大家介紹了PyTorch?Distributed?Data?Parallel使用詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2023-03-03

