=”。那么是否象普通數(shù)字運算一樣,這兩個方法之間存在互反的關(guān)系呢?Python沒有對__le__、__ge__這兩個方法之間有什么強制關(guān)系,但建議__le__和__ge__為互反,開發(fā)者完全可以根據(jù)業(yè)務(wù)邏輯的需要自己定義。我們來進行分析驗證:當自定義類中兩個方法都定義了時,“<=”、“>=”分別調(diào)用__le__和__ge__方法;當自定義類" />

黄色网页视频 I 影音先锋日日狠狠久久 I 秋霞午夜毛片 I 秋霞一二三区 I 国产成人片无码视频 I 国产 精品 自在自线 I av免费观看网站 I 日本精品久久久久中文字幕5 I 91看视频 I 看全色黄大色黄女片18 I 精品不卡一区 I 亚洲最新精品 I 欧美 激情 在线 I 人妻少妇精品久久 I 国产99视频精品免费专区 I 欧美影院 I 欧美精品在欧美一区二区少妇 I av大片网站 I 国产精品黄色片 I 888久久 I 狠狠干最新 I 看看黄色一级片 I 黄色精品久久 I 三级av在线 I 69色综合 I 国产日韩欧美91 I 亚洲精品偷拍 I 激情小说亚洲图片 I 久久国产视频精品 I 国产综合精品一区二区三区 I 色婷婷国产 I 最新成人av在线 I 国产私拍精品 I 日韩成人影音 I 日日夜夜天天综合

Python的富比較方法__le__、__ge__之間的關(guān)聯(lián)關(guān)系分析

系統(tǒng) 1908 0

Python的富比較方法包括 __le__、__ge__ 分別表示:小于等于、大于等于,對應(yīng)的操作運算符為:“<=”、“>=”。那么是否象普通數(shù)字運算一樣,這兩個方法之間存在互反的關(guān)系呢?
Python沒有對 __le__、__ge__ 這兩個方法之間有什么強制關(guān)系,但建議__le__和__ge__為互反,開發(fā)者完全可以根據(jù)業(yè)務(wù)邏輯的需要自己定義。我們來進行分析驗證:

  1. 當自定義類中兩個方法都定義了時,“<=”、“>=”分別調(diào)用__le__和__ge__方法;
  2. 當自定義類中定義了__le__方法,未定義__ge__方法時,進行”>=”比較也是調(diào)用__le__方法,只是對調(diào)用值求反。案例:
            
              >>> class Car():
   def __init__(self,carname,oilcp100km, price):
       self.carname,self.oilcp100km,self.price = carname,oilcp100km, price
   
   def __le__(self,other):
       print("execute __le__")
       return self.price<=other.price
 >>> 
>>> car1,car2,car3,car4 = Car('愛麗舍',8,10),Car('凱美瑞',7,27),Car('愛麗舍',8,10),Car('途觀',12,27)
>>> 
>>> car1>=car2
execute __le__
False
>>> car1<=car2
execute __le__
True
>>>

            
          
  1. 當自定義類中定義了__ge__方法,未定義__le__方法時,進行”<=”比較也是調(diào)用__ge__方法,只是對調(diào)用值求反。案例:
            
              >>> class Car():
   def __init__(self,carname,oilcp100km, price):
       self.carname,self.oilcp100km,self.price = carname,oilcp100km, price
   
     def __ge__(self,other):
       print("execute __ge__")
       return self.price>=other.price

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

            
          

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

老猿Python,跟老猿學(xué)Python!
博客地址:https://blog.csdn.net/LaoYuanPython
請大家多多支持,點贊、評論和加關(guān)注!謝謝!


更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯(lián)系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發(fā)表我的評論
最新評論 總共0條評論