今天來看比較的部分
我們使用上次的bmi來當範例(只是懶得創新的)
#bmiclass.py
class health:
def __init__(self,h=0,w=0):#__init__初始化
#通常在Python中,方法的第一個參數是指向物件本身,習慣命名用self
self.height=h
self.weight=w
def BMI(self):
return self.weight / ((self.height/100)**2)
假如今天有A和B兩位同學,要比較他們的BMI誰高誰低
那該怎麼辦呢?
我們可以實作覆寫掉對應的特殊方法
__little__ 小於(<)
__lessequal__ 小於等於(<=)
__equal__ 等於(==)
__nequal__ 不等於(!=)
__morethan__ 大於(>)
__greatequal__ 大於等於(>=)
我們設定如果b同學的BMI值(Health) > a同學(Health)的BMI
就傳回True否則False
我們需要在Bmiclass中新增
def __morethan__(self,other):
return float(self.BMI())>float(other.BMI())