新聞中心
python訪問(wèn)私有方法的方法 :通過(guò)“實(shí)例類.類名_變量名”可對(duì)私有方法進(jìn)行訪問(wèn)。
在python中,不像c#/java類語(yǔ)言,支持類的私有方法,這點(diǎn)有點(diǎn)像objc,雖然objc可以通過(guò)擴(kuò)展extension來(lái)實(shí)現(xiàn),但源于objc的運(yùn)行時(shí)特性,我們還是可以通過(guò)非常手段來(lái)進(jìn)行訪問(wèn)的。不過(guò)這點(diǎn)說(shuō)白了,好像c#中也可以通過(guò)指定BindingFlags.NonPublic的方式結(jié)合反射來(lái)調(diào)用。
假設(shè)有如下一個(gè)python類:
class Securityp(object): def __inaccessible(self):3 print "Bet you can't see me..."
而s是Securityp的一個(gè)實(shí)例,我們直接使用 s.__inaccessible()是會(huì)報(bào)錯(cuò)的,通過(guò)在一個(gè)方法前面加上兩個(gè)下劃線的方法來(lái)讓一個(gè)方法成為私有方法。
那我們應(yīng)該怎么來(lái)訪問(wèn)這個(gè)所謂的私有方法呢,
s._Securityp__inaccessible()
上述代碼就可以讓我來(lái)訪問(wèn)了。這是因?yàn)?,在python的解析器中,所有以雙下劃線開頭的方法都會(huì)被翻譯成前面加上單下劃線和類名的形式。
這樣我們就可以訪問(wèn)類中私有方法了。
推薦課程:零基礎(chǔ)學(xué)Python語(yǔ)言CAP(嵩天教授)
網(wǎng)站題目:創(chuàng)新互聯(lián)Python教程:python如何訪問(wèn)私有方法
文章出自:http://fisionsoft.com.cn/article/ccesogo.html


咨詢
建站咨詢

