2013-03-22 119 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"