0

我们怎么能不暴露 Python 中的方法并像在 Java 中一样将它们设为私有?

具体来说,我的场景涉及用户不应该使用的功能。

4

1 回答 1

1

我认为使无法访问的方法的唯一方法是这样

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

       print this_is_innaccessible_function()

但是,其他班级也无法访问它……唯一可以访问的地方是some_func

标准约定告诉我们用双下划线标记私有函数,这会导致在幕后进行一些名称修改,这使得从类外部访问变得更加困难

class A:
    def __private_by_convention(self):
        print "this should not be called outside of class...but it can be"
于 2013-03-22T14:32:40.610 回答