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 に答える