2013-06-22 264 views
3

我們可以模擬python中的私有和受保護訪問說明符嗎?python中的私有公共受保護訪問說明符

名字改編

如:

__var=10 

可以模擬私有,但其可行的通過對象外面很容易地訪問。

object._className__var 

那麼,有沒有一種方法,我們可以直接模擬或做一個解決方案,我不知道?

回答

6

Python不像您可能習慣的某些其他語言那樣具有強制訪問控制。該語言的哲學是「我們都同意成年人」。

按照慣例,私有屬性的前綴是一個下劃線,這是向人們提示它們不應該直接使用。但僅此而已,傳統。如果你想要沙箱Python,你需要在一個單獨的過程中完成。

雙下劃線修改的目的是爲了防止意外的名稱衝突,而不是強制訪問控制。

+0

謝謝@銻。我知道,名稱修改用於強制訪問控制。順便說一句我的問題是如何我們模擬訪問限制,這就是爲什麼後:p – deeshank

+2

答案是你不。您可以使用反射黑客來模擬它,但您可以使用反射來輕鬆地繞過這些黑客。真正的問題是你想要達到什麼目的? – Antimony

相關問題