新聞中心
這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷解決方案
創(chuàng)新互聯(lián)Python教程:python中__call__的觸發(fā)執(zhí)行
說(shuō)明

讓類的實(shí)例的行為表現(xiàn)的像函數(shù)一樣,你可以調(diào)用它們,將一個(gè)函數(shù)當(dāng)做一個(gè)參數(shù)傳到另外一個(gè)函數(shù)中等等。這是一個(gè)非常強(qiáng)大的特性,其讓python編程更加舒適甜美。對(duì)象后面加括號(hào),觸發(fā)執(zhí)行。
1、____call____ 方法的執(zhí)行是由對(duì)象后加括號(hào)觸發(fā)的,即:對(duì)象() 或者 類()()
2、__call__ 在那些類的實(shí)例經(jīng)常改變狀態(tài)的時(shí)候會(huì)非常有效。調(diào)用這個(gè)實(shí)例是一種改變這個(gè)對(duì)象狀態(tài)的直接和優(yōu)雅的做法。
實(shí)例
# __call__ class Rect(object) """ 調(diào)用實(shí)例對(duì)象來(lái)改變矩形的位置 """ def __init__(self, x, y): # x, y代表矩形坐標(biāo) self.x, self.y = x, y def __call__(self, x, y): # 改變實(shí)體的位置 self.x, self.y = x, y # ipython 測(cè)驗(yàn) In [33]: r = Rect(10, 10) In [34]: r.x, r.y Out[34]: (10, 10) In [35]: r(0, 0) In [36]: r.x, r.y Out[36]: (0, 0) In [37]: r(100, 100) In [38]: r.x, r.y Out[38]: (100, 100)
以上就是python中__call__的觸發(fā)執(zhí)行,希望對(duì)大家有所幫助。更多Python學(xué)習(xí)指路:創(chuàng)新互聯(lián)python教程
本文教程操作環(huán)境:windows7系統(tǒng)、Python 3.9.1,DELL G3電腦。
本文題目:創(chuàng)新互聯(lián)Python教程:python中__call__的觸發(fā)執(zhí)行
分享網(wǎng)址:http://www.dlmjj.cn/article/cdpcosj.html


咨詢
建站咨詢
