溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

怎么在python中使用__call__觸發(fā)執(zhí)行

發(fā)布時間:2021-05-08 16:14:37 來源:億速云 閱讀:151 作者:Leah 欄目:編程語言

怎么在python中使用__call__觸發(fā)執(zhí)行?針對這個問題,這篇文章詳細(xì)介紹了相對應(yīng)的分析和解答,希望可以幫助更多想解決這個問題的小伙伴找到更簡單易行的方法。

python的數(shù)據(jù)類型有哪些?

python的數(shù)據(jù)類型:1. 數(shù)字類型,包括int(整型)、long(長整型)和float(浮點(diǎn)型)。2.字符串,分別是str類型和unicode類型。3.布爾型,Python布爾類型也是用于邏輯運(yùn)算,有兩個值:True(真)和False(假)。4.列表,列表是Python中使用最頻繁的數(shù)據(jù)類型,集合中可以放任何數(shù)據(jù)類型。5. 元組,元組用”()”標(biāo)識,內(nèi)部元素用逗號隔開。6. 字典,字典是一種鍵值對的集合。7. 集合,集合是一個無序的、不重復(fù)的數(shù)據(jù)組合。

1、說明

讓類的實(shí)例的行為表現(xiàn)的像函數(shù)一樣,你可以調(diào)用它們,將一個函數(shù)當(dāng)做一個參數(shù)傳到另外一個函數(shù)中等等。這是一個非常強(qiáng)大的特性,其讓Python編程更加舒適甜美。對象后面加括號,觸發(fā)執(zhí)行。

__call__ 方法的執(zhí)行是由對象后加括號觸發(fā)的,即:對象() 或者 類()()

__call__ 在那些類的實(shí)例經(jīng)常改變狀態(tài)的時候會非常有效。調(diào)用這個實(shí)例是一種改變這個對象狀態(tài)的直接和優(yōu)雅的做法。

2、實(shí)例

# __call__
class Rect(object)
    """
    調(diào)用實(shí)例對象來改變矩形的位置
    """
 
    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 測驗(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)

關(guān)于怎么在python中使用__call__觸發(fā)執(zhí)行問題的解答就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關(guān)注億速云行業(yè)資訊頻道了解更多相關(guān)知識。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI