在python中is和==都說常用的運算符之一,主要用于檢測兩個變量是否相等,返回True或者False,具體區別在哪呢?
在講解is和==區別直接先講解一下內置函數id(),其實在文章?python可變數據類型和不可變數據類型?中也對內置函數id()有過講解,主要用于獲取變量的內存地址!關于內存現在不做過多講解,你可以把內存地址當作一串數字符號,內存地址就好比每個人都有一個身份證號碼一樣!
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | # !usr/bin/env python # -*- coding:utf-8 _*- """ @Author:何以解憂 @Blog(個人博客地址): shuopython.com @WeChat Official Account(微信公眾號):猿說python @Github:www.github.com ? @File:python_is.py @Time:2019/10/26:25 ? @Motto:不積跬步無以至千里,不積小流無以成江海,程序人生的精彩需要堅持不懈地積累! """ ? a = 5 b = False c = "hello" ? print("a內存地址:{}".format(id(a))) print("b內存地址:{}".format(id(b))) print("c內存地址:{}".format(id(c))) |
輸出結果:
1 2 3 | a內存地址:1784504608 b內存地址:1784012992 c內存地址:2126520897696 |
?
如果兩個變量的值相等,那么運算符 == 成立,返回True;反之返回False;示例代碼如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | a = 3 b = 3 print(a==b) ? # 整數與浮點數的比較 a = 3 b = 3.0 print(a==b) ? a = 3 b = 2.9999 print(a==b) ? # 字符串比較 a = "hello world" b = "HELLO WORLD" c = "hello " d = "hello world" print(a==b,a==c,b==c,a==d) |
輸出結果:
1 2 3 4 | True True False False False False True |
?
?
1.兩個變量的值相等;
2.變量地址也相同(可以通過內置函數id獲取變量內存地址);
如果同時滿足以上兩個條件,運算符 is 才成立,返回True;反之,不滿足其中任何一個條件都會返回False;示例代碼如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 | a = 333333 b = 333333.0 print(id(a)) print(id(b)) ? print(a is b) print("***"*20) ? a = 3 b = 3 print(id(a)) print(id(b)) ? print(a is b) print("***"*20) ? a = "hello world" b = "HELLO WORLD" c = "hello " d = "hello world" print(id(a)) print(id(b)) print(id(c)) print(id(d)) ? print(a is b,a is c,b is c,a is d) |
輸出結果:
1 2 3 4 5 6 7 8 9 10 11 12 13 | 2039213240016 2039234381168 False ************************************************************ 1784504544 1784504544 True ************************************************************ 2039217328240 2039217328176 2039217247376 2039217328240 False False False True |
?
?
1.python可變數據類型和不可變數據類型
2.python全局變量和局部變量
3.python字符串/列表/元組/字典之間的相互轉換
?
轉載請注明:猿說Python???python is和==區別
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。