python-類對象的比較


 

#類對象的比較
class Person:
    def __init__(self,age,height):
        self.age=age
        self.height=height
    def __eq__(self, other):#比較兩個對象是否相等的函數
        return self.age == other.age
    def __ne__(self, other):#比較兩個對象是否不相等的函數
        return self.age != other.age
    def __gt__(self, other):#大於函數
        return '大於函數'
    def __ge__(self, other):#大於等於
        return '大於等於函數'
    def __lt__(self, other):#小於
        return '小於函數'
    def __le__(self, other):#小於等於
        return '小於等於函數'
    def __bool__(self):#判斷對象是真是假時要執行的函數
        return True


d1=Person(18,175)
d2=Person(18,165)

s=d1==d2  # 執行__eq__函數,返回值是__eq__函數的返回值
#如果沒有__eq__函數,就比較的是地址,所以返回False
s=d1 != d2 # 執行__ne__函數,返回值是__ne__函數的返回值
s=d1 > d2  #執行__gt__函數,返回值是__gt__函數的返回值
s=d1 >= d2  #執行__ge__函數,返回值是__ge__函數的返回值
s=d1 < d2  #執行__lt__函數,返回值是__lt__函數的返回值
s=d1 <= d2  #執行__le__函數,返回值是__le__函數的返回值
print(s)
if d1:  #執行__bool__函數,返回值是__bool__函數的返回值
    print('執行__bool__')

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM