python双下划线什么意思_python中_、__、__xx__(单下划线、双下划线等)的含义
(1)_xxx
"單下劃線?" 開始的成員變量相當(dāng)于私有變量,也叫做保護(hù)變量,意思是只有類實(shí)例和子類實(shí)例能訪問到這些變量,需通過類提供的接口進(jìn)行訪問(可以定義有點(diǎn)像java中的getter、setter方法,借助方法訪問,而不是直接對變量動刀子);不能用'from module import *'導(dǎo)入。其實(shí),Python并沒有真正的私有化支持,用下劃線得到的是偽私有,也就是說如果你強(qiáng)行要用也是可以的,但不符合python的規(guī)范。我們應(yīng)該盡量避免重新定義以下劃線開頭的變量。
(2)__xxx
雙下劃線:類中的私有變量/方法名 (Python的函數(shù)也是對象,所以成員方法稱為成員變量也行得通)。"?雙下劃線?" 開始的是私有成員,意思是只有類對象自己能訪問,連子類對象也不能訪問到這個數(shù)據(jù)。
(3)__xxx__
系統(tǒng)定義名字,前后均有一個“雙下劃線” 代表python里特殊方法專用的標(biāo)識,如 __init__()代表類的構(gòu)造函數(shù)。類似__xxx__這樣的變量是特殊變量,可以被直接引用,但是有特殊用途,比如一個模塊的__author__,__name__就是特殊變量,模塊定義的文檔注釋(就是模塊開頭的字符串)也可以用特殊變量__doc__訪問,我們自己的變量一般不要用這種變量名。
總結(jié)就是說,這些寫法,其實(shí)都是python的一些約定俗成的規(guī)范,雖然不是強(qiáng)行的規(guī)定(即使你不遵守,強(qiáng)行調(diào)用、訪問,也不會崩潰報(bào)錯),但大家還是要遵守!不然在代碼交接、傳承使用上就會出問題啦。
————————————————
版權(quán)聲明:本文為CSDN博主「奔跑的Yancy」的原創(chuàng)文章,遵循 CC 4.0 BY-SA 版權(quán)協(xié)議,轉(zhuǎn)載請附上原文出處鏈接及本聲明。
原文鏈接:https://blog.csdn.net/lyxleft/article/details/85691186
總結(jié)
以上是生活随笔為你收集整理的python双下划线什么意思_python中_、__、__xx__(单下划线、双下划线等)的含义的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: AWS S3 让IAM用户可以list
- 下一篇: [Python3] Python中单下划