python中單底線和雙底線的差異是:單底線用來告訴別的程式這個屬性或方法是私有的;雙底線用來定義私有類別的實例、類別變數、全域變數、實例變數等。
單下劃線
#在一個類別中的方法或屬性用單下劃線開頭就是告訴別的程式這個屬性或方法是私有的。然而對於這個名字來說並沒有什麼特別的。
(推薦教學:python影片教學)
#雙底線
任何__spam形式(至少兩個底線開頭,至多一個底線結尾)都是代替_classname__spam,其中classname是目前類別的名字。 This mangling is done without regard to the syntactic position of the identifier。所以它能用來定義私有類別的實例和類別變量,方法,在全域中的變量,甚至是實例中的變數。可以區別不同類別的實例。
#總結:
__foo__:一種約定,Python內部的名字,用來區別其他使用者自訂的命名,以防衝突。
_foo:一種約定,用來指定變數私有。程式設計師用來指定私有變數的一種方式。
__foo:這個有真正的意義:解析器用_classname__foo來代替這個名字,以區別和其他類別相同的命名。
在Python中沒有其他形式的底線了。
這種約定方式和類,變量,全域變數等沒有區別。
以上是python中單下劃線和雙下劃線有什麼差別的詳細內容。更多資訊請關注PHP中文網其他相關文章!