• 技术文章 >Python技术 >Python高级

    python如何访问私有方法

    晓曦&sea晓曦&sea2020-07-14 15:25:53原创3636

    python访问私有方法的方法 :通过“实例类.类名_变量名”可对私有方法进行访问。

    在python中,不像c#/java类语言,支持类的私有方法,这点有点像objc,虽然objc可以通过扩展extension来实现,但源于objc的运行时特性,我们还是可以通过非常手段来进行访问的。不过这点说白了,好像c#中也可以通过指定BindingFlags.NonPublic的方式结合反射来调用。

    假设有如下一个python类:

     class Securityp(object):
              def __inaccessible(self):3         
                  print "Bet you can't see me..."

    而s是Securityp的一个实例,我们直接使用 s.__inaccessible()是会报错的,通过在一个方法前面加上两个下划线的方法来让一个方法成为私有方法。

    那我们应该怎么来访问这个所谓的私有方法呢,

    s._Securityp__inaccessible()

    上述代码就可以让我来访问了。这是因为,在python的解析器中,所有以双下划线开头的方法都会被翻译成前面加上单下划线和类名的形式。

    这样我们就可以访问类中私有方法了。

    推荐课程:零基础学Python语言CAP(嵩天教授)

    专题推荐:python
    品易云
    上一篇:python中怎么计算log对数 下一篇:在python中单元测试是什么

    相关文章推荐

    • python怎么导入依赖包• python3.7如何调试• 如何用python输出99乘法表• python中怎么添加解释器

    全部评论我要评论

    © 2021 Python学习网 苏ICP备2021003149号-1

  • 取消发布评论
  • 

    Python学习网