2013-03-22 117 views
-1

我們如何不在Python中公開方法並使它們像Java一樣是私有的?如何不暴露python中的方法

具體而言,我的方案涉及用戶不應使用的函數。

+6

在python中,用戶不應該做的事情通常會被記錄下來*。如果用戶真的想濫用你的圖書館,那是他/她的權利(這個哲學與Java有些不同)。 – akaIDIOT 2013-03-22 14:08:59

+0

基本上你不能。 Python將事物標記爲「私人」,但如果其他程序員想要使用它們,則無法阻止它們。 – GreenMatt 2013-03-22 14:11:04

+0

好的,我們不能那樣做......但爲什麼是-1? – Neil 2013-03-22 15:50:01

回答

1

我覺得做不可訪問方法的唯一方法是這樣的

class A: 
    def some_func(self,*some_Args): 
     def this_is_innaccessible_function(): 
      return "yellow" 

     print this_is_innaccessible_function() 

但它也無法訪問到班上其他同學......它是可訪問的唯一的地方是內some_func

標準慣例告訴我們用雙下劃線標記私人funcs,這會導致一些名稱在幕後出現,這使得從課堂以外的地方訪問更加困難

class A: 
    def __private_by_convention(self): 
     print "this should not be called outside of class...but it can be"