iT邦幫忙

2022 iThome 鐵人賽

DAY 22
0
自我挑戰組

Python 學習整理系列 第 22

Day22. is v.s ==

  • 分享至 

  • xImage
  •  

is 是什麼?

  • is 是用來測試兩個 變數 (variables) 是否為同一個物件 (object)
  • 如果兩個變數為同一個物件則回傳值為 True
  • 如果兩個變數不是同一個物件,則回傳值為 False

用程式來舉個例子

  • 今天小明被媽媽叫去上網訂購年菜,要買的分別是"豬腳”、"佛跳牆”、"香腸”
  • 所以小明的購物車裡面會像這樣:
littleMing_cart = ["豬腳", "佛跳牆", "香腸"]
  • 但可怕的事情發生了,阿嬤也學會上網訂購年菜了,而且還跟小明訂的內容一模一樣
  • 所以阿嬤的購物車裡面會像這樣:
grandma_cart = ["豬腳", "佛跳牆", "香腸"]
  • 在程式表達會像這樣:
littleMing_cart = ["豬腳", "佛跳牆", "香腸"]

grandma_cart = ["豬腳", "佛跳牆", "香腸"]

print(littleMing_cart is grandma_cart)
  • 回傳值為 False

為什麼會這樣呢?

  • 因為雖然內容物一樣,但這是兩個不同的物件,所以回傳值產生 False

但假如有先讓兩個物件相等,像這樣:

littleMing_cart = ["豬腳", "佛跳牆", "香腸"]

grandma_cart = ["豬腳", "佛跳牆", "香腸"]

littleMing_cart = grandma_cart

print(littleMing_cart is grandma_cart)
  • 回傳值為 True

  • 這時候小明跟阿嬤都沒注意到對方有訂購,所以有兩份年菜到家裡,想當然的小明被打的半死,今年小明家過年吃得很開心!
  • 用這例子我們了解到雖然兩個購物車買的內容物一樣,但是不同的人買,就會產生不同的物件。
  • 因為相同值的對象通常儲存在不同的位置裡面,並不是同樣的物件。

== 是什麼?

  • ==是一種比較運算符 (comparison operators)

  • 在 Python 中有六種比較運算符,分別是:

    • < 小於
    • <= 小於等於
    • > 大於
    • >= 大於等於
    • == 相等
    • != 不相等
  • == 是比較兩個值,如果左邊的值等於右邊的值,則回傳值為 True ,否則回傳為 False


用程式來舉例:

  • 我們一樣用剛剛小明買年菜的例子。(小明表示:是要鞭屍我幾次?!)
littleMing_cart = ["豬腳", "佛跳牆", "香腸"]

grandma_cart = ["豬腳", "佛跳牆", "香腸"]


print(littleMing_cart == grandma_cart)
  • 回傳值為 True

  • 這邊我們就可以看到與 is 的不同, == 是物件裡面的值比較,is 是兩個物件是否有相等
  • 同學們都懂了嗎? 我們明天繼續!!

參考資料
w3schools -Python is Keyword


上一篇
Day21.Python 模組
下一篇
Day23. List v.s. Turple
系列文
Python 學習整理30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言