關(guān)于Python中定制類的比較運(yùn)算實例
Python中的比較運(yùn)算有幾種:小于、小于等于、等于、大于等于、大于、不等于等。如果我們的數(shù)據(jù)對象具有明確的物理含義,比如說數(shù)值是帶有數(shù)字與物理單位的字符串組合,那么進(jìn)行大小比較的時候就可以做此定制。
下面針對6種比較方法中的一種來進(jìn)行定制示范,選擇小于判斷來做嘗試。
寫如下示范代碼:
class myClass: def __init__(self,value): self.value = value def __lt__(self,other): return int(self.value[:-1]) <int(other.value[:-1]) a = myClass('12a') b = myClass('20a') print(a < b)
代碼執(zhí)行結(jié)果:
grey@DESKTOP-3T80NPQ:/mnt/e/01_workspace/02_programme_language/03_python/03_OOP/2017/08/16$python compare.py
True
從上面看,myClass類的比較方法定制有效。上面例子中,對象的數(shù)值是帶有單位的,其實是一個數(shù)值加單位的字符串。其中,單位就是'a'。如果進(jìn)行小大比較,可以把單位剝離出去只進(jìn)行數(shù)字的比較。于是,構(gòu)建出上面的方法。
其實,其他的幾種比較方法定制也與此類似。雖說不進(jìn)行定制也能夠完成我們要的功能,但是如果進(jìn)行類似的定制我們可以獲得可讀性以及可維護(hù)性更好的軟件。
以上這篇關(guān)于Python中定制類的比較運(yùn)算實例就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
Python編程使用Selenium模擬淘寶登錄實現(xiàn)過程
這篇文章主要介紹了Python編程使用Selenium模擬淘寶登錄的實現(xiàn)過程示例及解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步早日升職加薪2021-10-10PyTorch一小時掌握之神經(jīng)網(wǎng)絡(luò)氣溫預(yù)測篇
這篇文章主要介紹了PyTorch一小時掌握之神經(jīng)網(wǎng)絡(luò)氣溫預(yù)測篇,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2021-09-09Python+tkinter實現(xiàn)音樂下載軟件的制作
平常我們下載的歌曲,都是各種妖魔鬼怪的格式橫行,想下載下來用一下都不行,還只能在它的播放器內(nèi)聽,這誰受得了~本文就來用Python制作個音樂下載軟件,需要的可以參考一下2022-09-09pandas dataframe 中的explode函數(shù)用法詳解
這篇文章主要介紹了pandas dataframe 中的explode函數(shù)用法詳解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-05-05Python如何將圖像音視頻等資源文件隱藏在代碼中(小技巧)
有朋友問小編使用pyinstaller打包源碼時,因為代碼中使用了圖像、音頻、視頻等資源文件,無法將程序打包成單一的可執(zhí)行文件,怎么處理呢,下面小編通過代碼給大家介紹Python如何將圖像音視頻等資源文件隱藏在代碼中,感興趣的朋友一起看看吧2020-02-02