python中』=='和』is』的區別
(1)python中』==』
python中』==比較變數的值,如果值相同返回true,如果不同返回flase
這裡的變數值包含數字,字串,元組,列表,字典.
3)示例如下
>>
> a=
1>>
> b=
1>>
> a==b
true
>>
> a=
'1'>>
> b=
'1'>>
> a==b
true
>>
> a=(1
,2)>>
> b=(1
,2)>>
> a==b
true
>>
> a=[1
,2]>>
> b=[1
,2]>>
> a==b
true
>>
> a=
>>
> b=
>>
> a==b
true
>>
>
(2)python中』is』
python中』is』是比較兩個變數的id(記憶體位址)是否一致,如果是返回true,如果不是返回flase
2)id的查詢為id(變數)示例如下,其中變數之間的賦值id不變,兩個變數指向同一id,但變數與數值之間的賦值會改變id(小資料池中的例外)
>>
> a=[1
,2,3
]>>
> b=a
>>
> a is b
true
>>
>
id(a)
49562824
>>
>
id(b)
49562824
>>
> c=[1
,2,3
]>>
>
id(c)
4579080
>>
> c is b
false
>>
>
(3)擴充,python中的小資料池
1)小資料池:一種資料快取機制. 也被稱為駐留留機制,python中內建,為節省空間而存在的,只有部分數字和字串
2)(shell下)數字範圍:-5~256
示例如下
>>
> a=-6
>>
> b=-6
>>
> a is b
false
>>
> a=-5
>>
> b=-5
>>
> a is b
true
>>
> a=
256>>
> b=
256>>
> a is b
true
>>
> a=
257>>
> b=
257>>
> a is b
false
>>
>
3)(shell下)字串範圍:不含特殊符號 以及單個字元乘20以內數字,示例如下
>>
> a=
'alex@'
>>
> b=
'alex@'
>>
> a is b
false
>>
> a=
'a'*
20>>
> b=
'a'*
20>>
> a is b
true
>>
> a=
'1234567890abcdefghijklmnopqrstuvwxyz'
>>
> b=
'1234567890abcdefghijklmnopqrstuvwxyz'
>>
> a is b
true
4)idle和pycharm的小資料池不同於shell
python中編碼與解碼(python3執行階段使用unicode)
(1) ascii:
1)不支援中文
2)支援 英文,數字,字母,符號
3)編碼情況 英文:8位,1個位元組
(2) gbk 國標:
1)支援 英文,數字,字母,符號
2)編碼情況 英文:16位,2個位元組 中文:16位,2個位元組
(3) unicode 萬國碼:
1)支援 英文,數字,字母,符號
2)編碼情況 英文:32位,4個位元組 中文:32位,4個位元組
(4) utf-8長度可變萬國碼,最小8位:
1)支援 英文,數字,字母,符號
2)編碼情況 英文:8位,1個位元組 中文:24位,3個位元組
(5)bytes型別:
1)網路傳輸和儲存使用bytes
(6)解碼:
1)pycharm編碼時使用utf-8(s.encod(『utf-8』),指將s用utf-8編碼)
2)s.decode(『utf-8』)將s用utf-8解碼)`
3)用什麼編碼就用什麼解碼,否則會亂碼
>>
> a=
'你好'
>>
> b=a.encode(
'utf-8'
)>>
> c=b.decode(
'gbk'
)>>
>
print
(b)b'\xe4\xbd\xa0\xe5\xa5\xbd'
>>
>
print
(c)浣犲ソ
>>
> c=b.decode(
'utf-8'
)>>
>
print
(c)你好
Python中is和 的區別
python中的物件包含三要素 id type value。is判斷的是a物件是否就是b物件,是通過id來判斷的。也就是記憶體位址。其實本質就是判斷id a id b 當然也可以使用 判斷。但是必須是id a id b 而不是a b a 1,2,3 b 1,2,3 a is b false id a...
Python中「is」和「 」的區別
python有兩個用於相等比較的運算子,is 和 等於 在這篇文章中,我將帶你們了解python中 is 和 的區別,並通過幾個簡單地例子說明應該在什麼時候使用它們,我們先來看乙個情景 當我還是乙個孩子的時候,我們的鄰居家有兩隻雙胞胎貓。這兩隻貓看起來看起來完全一樣 同樣的木炭毛,同樣敏銳的綠眼睛。...
python中 is 和 的區別
python中的物件包含三要素 id type value 其中 id用來唯一標識乙個物件,type標識物件的型別,value是物件的值 is判斷的是a物件是否就是b物件,是通過id來判斷的 判斷的是a物件的值是否和b物件的值相等,是通過value來判斷的 最終取決於物件的 eq 方法,本質上兩個變...