iT邦幫忙

第 11 屆 iThome 鐵人賽

DAY 4
0
自我挑戰組

自我學習python系列 第 24

物件導向3

  • 分享至 

  • xImage
  •  

今天來看比較的部分
我們使用上次的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__ 大於等於(>=)

https://ithelp.ithome.com.tw/upload/images/20191008/20121024orYDlTGXYc.jpg

我們設定如果b同學的BMI值(Health) > a同學(Health)的BMI
就傳回True否則False
我們需要在Bmiclass中新增

def __morethan__(self,other):
        return float(self.BMI())>float(other.BMI())

https://ithelp.ithome.com.tw/upload/images/20191008/20121024PJfPMA6RXK.png


上一篇
物件導向2
下一篇
物件導向4
系列文
自我學習python30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言