我理解它是如何工作的,我理解語法的含義。但我不明白我爲什麼要使用它?爲什麼我需要現實生活中的私人方法?
1
A
回答
5
Python中沒有私有成員,包括方法。雙下劃線前綴實際上只是私人成員的「約定」,由於名稱被進一步損壞,因此額外由Python強制執行。儘管從外部訪問這些方法並不是不可能的。
一般而言,沒有真正的需要讓會員真的是「私人」的。通常,單個下劃線前綴用於將成員標記爲「內部」,並且要求這些類型的用戶保持獨立。
除此之外,當然還有私有(或內部)方法的原因是將功能的公共部分提取到方法中,因此您不必重複自己。
有關缺少Python成員私有性的更多信息,請參閱this question。
+0
而且,當然,要告訴用戶你的模塊「不要自己調用這個方法,如果你這樣做,當它在下一個版本中消失時不要責怪我,並且不會有任何警告」 – geoffspear
0
sLet說,你有操作運行a是在同一類調用subOperationA和suboperationB,以及這些方法沒有任何意義的單兵作戰,他們操縱數據,你必須阻止他們的意外處決(這意味着從方法操作A)調用。所以私人允許您保護和封裝您的方法,限制他們的可見性只限於所需的範圍。
相關問題
- 1. 爲什麼我需要一個需要實例的方法?
- 2. 爲什麼我需要我需要在子類中實現IDisposable()
- 3. 爲什麼我們需要一個私人構造函數?
- 4. 爲什麼@autowired在spring中不需要私有實例變量的setter方法?
- 5. 爲什麼要爲我的對象實現toString方法?
- 6. 爲什麼我們需要addRequestHeader方法?
- 7. 爲什麼我們需要ContinueWith方法?
- 8. 爲什麼我們需要Buffer.isBuffer方法?
- 9. 實現接口的抽象類不需要方法實現。爲什麼?
- 10. 爲什麼我們需要在android中擴展類時實現某些方法?
- 11. 我需要在R中爲類矩陣類實現什麼方法?
- 12. java @SafeVarargs爲什麼私有方法需要是最終的
- 13. 爲什麼Resharper想要駱駝案也是私人方法?
- 14. 增強現實 - 我需要什麼?
- 15. 爲什麼我不能有一個私人的抽象方法?
- 16. 爲什麼要用最後的修改,當我們在方法類有私人
- 17. 爲什麼要在實體中使用私人設置器
- 18. 爲什麼我們需要在ImagePickerController中實現UiNavigationcontroller委託iphone
- 19. 爲什麼我們需要java中的私有嵌套接口?
- 20. 爲什麼eclipse需要一個名爲'main'的實際方法?
- 21. 派生類何時需要實現一個方法爲const?
- 22. 爲什麼我們需要YII中的規則方法?
- 23. Composer.json需要我自己的私人包
- 24. 爲什麼我們要實現接口?
- 25. 爲什麼我們需要DTD和其他地方的「實體」
- 26. 爲什麼spinner listener需要onNothingSelected方法?
- 27. 爲什麼CustomFieldSerializer需要靜態方法?
- 28. 爲什麼需要DataBind()方法?
- 29. 爲什麼申請方法需要parens?
- 30. 爲什麼需要使用'addChildViewController:'方法
我不認爲這是一個適當的問題堆棧溢出。大量關於面向對象設計的信息以及在線提供的私人與公衆的好處。 – Pete
任何時候當有人問你的名字時,你是否交出你的錢包和身份證?如果有人問:「你有一美元我可以借?」你給他們你的帳戶和個人識別碼,以便他們看起來? – asawyer
你不明白Python中私有方法的語法,因爲沒有任何方法。 – geoffspear