首頁  >  文章  >  後端開發  >  python中單下劃線和雙下劃線有什麼差別

python中單下劃線和雙下劃線有什麼差別

silencement
silencement原創
2019-05-23 18:11:387979瀏覽

python中單底線和雙底線的差異是:單底線用來告訴別的程式這個屬性或方法是私有的;雙底線用來定義私有類別的實例、類別變數、全域變數、實例變數等。

python中單下劃線和雙下劃線有什麼差別

單下劃線

#在一個類別中的方法或屬性用單下劃線開頭就是告訴別的程式這個屬性或方法是私有的。然而對於這個名字來說並沒有什麼特別的。

(推薦教學:python影片教學

#雙底線

任何__spam形式(至少兩個底線開頭,至多一個底線結尾)都是代替_classname__spam,其中classname是目前類別的名字。 This mangling is done without regard to the syntactic position of the identifier。所以它能用來定義私有類別的實例和類別變量,方法,在全域中的變量,甚至是實例中的變數。可以區別不同類別的實例。

python中單下劃線和雙下劃線有什麼差別

#總結:

__foo__:一種約定,Python內部的名字,用來區別其他使用者自訂的命名,以防衝突。

_foo:一種約定,用來指定變數私有。程式設計師用來指定私有變數的一種方式。

__foo:這個有真正的意義:解析器用_classname__foo來代替這個名字,以區別和其他類別相同的命名。

在Python中沒有其他形式的底線了。

這種約定方式和類,變量,全域變數等沒有區別。

以上是python中單下劃線和雙下劃線有什麼差別的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn