教育行業(yè)A股IPO第一股(股票代碼 003032)

全國咨詢/投訴熱線:400-618-4000

軟件測試中的魔法方法指的是什么?

更新時(shí)間:2023年01月12日17時(shí)14分 來源:傳智教育 瀏覽次數(shù):

好口碑IT培訓(xùn)

魔法方法就是可以給你的類增加魔力的特殊方法,如果你的對(duì)象實(shí)現(xiàn) (重載)了這些方法中的某一個(gè),那么這個(gè)方法就會(huì)在特殊的情況下被 Python 所調(diào)用,你可以定義自己想要的行為,而這一切都是自動(dòng)發(fā)生的。 它們經(jīng)常是兩個(gè)下劃線包圍來命名的(比如 __init__,__lt__),Python 的魔法方法是非常強(qiáng)大的,所以了解其使用方法也變得尤為重要!__init__ 構(gòu)造器,當(dāng)一個(gè)實(shí)例被創(chuàng)建的時(shí)候初始化的方法。但是它并 不是實(shí)例化調(diào)用的第一個(gè)方法。

__new__才是實(shí)例化對(duì)象調(diào)用的第一個(gè)方法,它只取下 cls 參數(shù),并把 其他參數(shù)傳給 __init__。 __new__很少使用,但是也有它適合的場景,尤其 是當(dāng)類繼承自一個(gè)像元組或者字符串這樣不經(jīng)常改變的類型的時(shí)候。

__call__ 允許一個(gè)類的實(shí)例像函數(shù)一樣被調(diào)用 。

__getitem__ 定義獲取容器中指定元素的行為,相當(dāng)于 self[key] 。

__getattr__ 定義當(dāng)用戶試圖訪問一個(gè)不存在屬性的時(shí)候的行為 。

__setattr__ 定義當(dāng)一個(gè)屬性被設(shè)置的時(shí)候的行為 。

__getattribute__ 定義當(dāng)一個(gè)屬性被訪問的時(shí)候的行為 。

0 分享到:
和我們?cè)诰€交談!