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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

为什么Python中称__lt__、__gt__等为“富比较”方法

發布時間:2025/3/15 python 17 豆豆
生活随笔 收集整理的這篇文章主要介紹了 为什么Python中称__lt__、__gt__等为“富比较”方法 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Python中基類object提供了一系列可以用于實現同類對象進行“比較”的方法,可以用于同類對象的不同實例進行比較,包括__lt__、__gt__、__le__、__ge__、__eq__和__ne__六個方法。
那么為什么叫“富比較”(“rich comparison”)方法呢?查了相關資料,并沒有看到權威的定義,老猿結合網上零星的資料,分析原因如下:

  • Python2.1以前的比較方法只提供一個__cmp__方法,沒有__lt__等6個方法,相對__cmp__一個方法來說,現在的比對方法種類豐富了,Python 2.1引入了富比較方法,Python3.4之后作廢了__cmp__方法;
  • 比較方法除了簡單的比較大小之外,還可以用于排序,從Python2.4開始,排序方法sort() 和 函數sorted() 都增加了一個 ‘key’ 參數,用來在進行比較之前指定每個元素上要調用的函數,這個函數的返回值老猿認為只要是任何可比較大小的數據類型(含定義了__lt__方法的自定義類)都可以,這種返回值比單純的__cmp__三個返回值(0、1、-1)范圍更豐富;
  • 對于支持復雜比較的類,每種比較方法調用對應的獨立富比較方法而無需共用一個__cmp__方法,從而比一個__cmp__方法要考慮不同情況的實現簡單、運行時性能高效;
  • 富比較方法可以直接映射到對應的操作符如“<”,操作更方便簡潔。
    以上分析,不知是否正確和全面,請各位大拿指教。
  • 關于富比較方法的介紹請大家參考:
    1、《第8.21節 Python中__lt__、__gt__等 “富比較”(“rich comparison”)方法用途探究》
    2、《第8.22節 Python案例詳解:重寫 “富比較”方法控制比較邏輯》。

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

    轉載于:https://www.cnblogs.com/LaoYuanPython/p/11166832.html

    創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎

    總結

    以上是生活随笔為你收集整理的为什么Python中称__lt__、__gt__等为“富比较”方法的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。