推 m87dd05: 最近也在研究python 的繼承,我的理解是雙底線不可被繼承 10/27 15:35
→ mikapauli: 前面加單底線的名稱不會被from ... import * 匯入 10/27 17:37
→ mikapauli: 樓上說的class裡前面加雙底線的名稱會被改名 10/27 17:39
→ mikapauli: 前後都加雙底線的命名有內建名稱的意義 10/27 17:41
→ mikapauli: 單獨的單底線idle裡預設為上個運算的結果,有時會被用 10/27 17:43
→ mikapauli: 作dummy。我是習慣用雙底線 10/27 17:43
→ mikapauli: 後單底線是有些人遇到命名衝突又想不到其他名稱時用的 10/27 17:48
→ darkgerm: 雙底線不是不能被繼承,而是繼承後名字會被改掉 10/27 23:31
→ darkgerm: 防止撞名用的,這個機制叫 name mangling 10/27 23:32
→ TitanEric: 可以搜尋dunder 還有你第二個例子不屬於推文討論的 只 10/28 00:19
→ TitanEric: 是function單純回傳2個值 但第二個對你來說不重要 所以 10/28 00:19
→ TitanEric: 才用底線 10/28 00:19
→ brightwish: 有底線的就相當於c的private python 會自動防止錯誤的 10/28 02:17
→ brightwish: 呼叫 另外前後都有底線則是類別內建的方法 10/28 02:17