日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程语言 > python >内容正文

python

python 类里面的单下划线与双下划线的区别(私有和保护) .

發(fā)布時(shí)間:2025/3/17 python 21 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python 类里面的单下划线与双下划线的区别(私有和保护) . 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

Python 用下劃線(xiàn)作為變量前綴和后綴指定特殊變量。

_xxx 不能用'from moduleimport *'導(dǎo)入
__xxx__ 系統(tǒng)定義名字
__xxx 類(lèi)中的私有變量名

核心風(fēng)格:避免用下劃線(xiàn)作為變量名的開(kāi)始。

因?yàn)橄聞澗€(xiàn)對(duì)解釋器有特殊的意義,而且是內(nèi)建標(biāo)識(shí)符所使用的符號(hào),我們建議程序員避免用下劃線(xiàn)作為變量名的開(kāi)始。一般來(lái)講,變量名_xxx被看作是“私有 的”,在模塊或類(lèi)外不可以使用。當(dāng)變量是私有的時(shí)候,用_xxx 來(lái)表示變量是很好的習(xí)慣。因?yàn)樽兞棵鸰_xxx__對(duì)Python 來(lái)說(shuō)有特殊含義,對(duì)于普通的變量應(yīng)當(dāng)避免這種命名風(fēng)格。

"單下劃線(xiàn)" 開(kāi)始的成員變量叫做保護(hù)變量,意思是只有類(lèi)對(duì)象和子類(lèi)對(duì)象自己能訪問(wèn)到這些變量;
"雙下劃線(xiàn)" 開(kāi)始的是私有成員,意思是只有類(lèi)對(duì)象自己能訪問(wèn),連子類(lèi)對(duì)象也不能訪問(wèn)到這個(gè)數(shù)據(jù)。

以單下劃線(xiàn)開(kāi)頭(_foo)的代表不能直接訪問(wèn)的類(lèi)屬性,需通過(guò)類(lèi)提供的接口進(jìn)行訪問(wèn),不能用“from xxx import *”而導(dǎo)入;以雙下劃線(xiàn)開(kāi)頭的(__foo)代表類(lèi)的私有成員;以雙下劃線(xiàn)開(kāi)頭和結(jié)尾的(__foo__)代表python里特殊方法專(zhuān)用的標(biāo)識(shí),如 __init__()代表類(lèi)的構(gòu)造函數(shù)。

?

結(jié)論:

1、_xxx 不能用于’from module import *’ 以單下劃線(xiàn)開(kāi)頭的表示的是protected類(lèi)型的變量。即保護(hù)類(lèi)型只能允許其本身與子類(lèi)進(jìn)行訪問(wèn)。

2、__xxx 雙下劃線(xiàn)的表示的是私有類(lèi)型的變量。只能是允許這個(gè)類(lèi)本身進(jìn)行訪問(wèn)了。連子類(lèi)也不可以

3、__xxx___ 定義的是特列方法。像__init__之類(lèi)的

轉(zhuǎn)載于:https://blog.51cto.com/7625504/1747510

總結(jié)

以上是生活随笔為你收集整理的python 类里面的单下划线与双下划线的区别(私有和保护) .的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。