日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程语言 > python >内容正文

python

python中lt方法_Python的富比较方法__lt__、__gt__之间的关联关系分析

發(fā)布時(shí)間:2025/3/21 python 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python中lt方法_Python的富比较方法__lt__、__gt__之间的关联关系分析 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

Python的富比較方法包括__lt__、__gt__分別表示:小于、大于,對(duì)應(yīng)的操作運(yùn)算符為:“”。那么是否象普通數(shù)字運(yùn)算一樣,這兩個(gè)方法之間存在互反的關(guān)系呢?

Python沒有對(duì)__lt__、__gt__這兩個(gè)方法之間有什么強(qiáng)制關(guān)系,但建議__lt__和__gt__為互反,開發(fā)者完全可以根據(jù)業(yè)務(wù)邏輯的需要自己定義。我們來進(jìn)行分析驗(yàn)證:

當(dāng)自定義類中兩個(gè)方法都定義了時(shí),“”分別調(diào)用__lt__和__gt__方法;

當(dāng)自定義類中定義了__lt__方法,未定義__gt__方法時(shí),進(jìn)行”>”比較也是調(diào)用__lt__方法,只是對(duì)調(diào)用值求反。案例:

>>> class Car():

def __init__(self,carname,oilcp100km, price):

self.carname,self.oilcp100km,self.price = carname,oilcp100km, price

def __lt__(self,other):

print("execute __lt__")

return self.price

>>>

>>> car1,car2,car3,car4 = Car('愛麗舍',8,10),Car('凱美瑞',7,27),Car('愛麗舍',8,10),Car('途觀',12,27)

>>>

>>> car1>car2

execute __lt__

False

>>> car1

execute __lt__

True

>>>

當(dāng)自定義類中定義了__gt__方法,未定義__lt__方法時(shí),進(jìn)行”

>>> class Car():

def __init__(self,carname,oilcp100km, price):

self.carname,self.oilcp100km,self.price = carname,oilcp100km, price

def __gt__(self,other):

print("execute __gt__")

return self.price>other.price

>>> car1,car2,car3,car4 = Car('愛麗舍',8,10),Car('凱美瑞',7,27),Car('愛麗舍',8,10),Car('途觀',12,27)

>>> car1

execute __gt__

True

>>> car1>car2

execute __gt__

False

>>>

通過以上案例,我們知道當(dāng)__lt__、__gt__方法都定義了時(shí),“”分別調(diào)用__lt__和__gt__方法,當(dāng)一個(gè)定義另一個(gè)未定義時(shí),未定義的操作執(zhí)行時(shí)會(huì)調(diào)用已經(jīng)定義的方法求反。這個(gè)與__eq__和__ne__的關(guān)系還是有較大的不同。

總結(jié)

以上是生活随笔為你收集整理的python中lt方法_Python的富比较方法__lt__、__gt__之间的关联关系分析的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。