品易云推流 关闭
文章详情页
文章 > Python高级 > python如何访问私有方法

python如何访问私有方法

头像

晓曦&sea

2020-07-14 15:25:534017浏览 · 0收藏 · 0评论

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(嵩天教授)

关注

关注公众号,随时随地在线学习

本教程部分素材来源于网络,版权问题联系站长!

底部广告图