is 和 的區別

2022-09-02 20:42:14 字數 1538 閱讀 4387

小資料池

數字小資料池的範圍是  -5~256

字串中如果有特殊字元,他們的記憶體位址就不一樣

字串中的單個字元*20以內他們的記憶體位址一樣,單個*21以上記憶體位址就不一致

黑框框 == 終端

a = 'alex@'

a1 ='alex@'

print(a is a1)    false

n= n //2

n1= 2

print(n is n1)    true

a = 'a'*21

b ='a'*21

print(a is b)    false

a = 'aaaaaaaaaaaaaaaaaaaaaaaa'

b = 'aaaaaaaaaaaaaaaaaaaaaaaa'

print(a is b)    true

n = -6

n1 = -6

print(n is n1)    false

n = -5

n1 = -5

print(n is n1)    true

n = 257

n1 = 257

print(n is n1)    true (在pycharm中判斷是對的)

總結== 比較    比較的是兩邊的值

is 比較    比較的是記憶體位址   id()

編碼和解碼

ascii 碼:

不支援  中文

支援    英文  數字  符號

8位      乙個位元組

gbk碼  國標:

支援  中文,英文,數字,符號

英文  16位   二個位元組

中文  16位   二個位元組

unicode  萬國碼

支援  中文,英文,數字,符號

英文  32 位  四個位元組

中文  32位   四個位元組

utf-8   長度可變的萬國碼 最少用8位

英文   8位    乙個位元組

中文   24位   三個位元組

python3中 程式執行階段 使用的是unicode   顯示所有的內容

bytes型別

傳輸和儲存都是使用bytes

pycharm 儲存的時候預設是使用utf-8

總結is 和 == 區別

is  比較記憶體位址

id()   ---- 獲取記憶體位址

小資料池:

數字的小資料池範圍是 -5 ~ 256

字串:

字串中不能包含特殊符號   + - * / @ 等等

字串單個字元*20以內記憶體位址都是一樣的,單個字元*21以上記憶體位址不一致

注意: pycharm是個坑, 乙個py檔案中所有相同的字串 一般都是使用一樣的記憶體位址

==  比較倆邊的值

編碼和解碼

encode(編碼方式)     ---- 拿到明文編碼後對應的位元組

decode(編碼方式)     -----將編碼後的位元組解碼成對應的明文

注意: 用什麼進行編碼就要什麼進行解碼  不然後會懵逼!

mysql的 和 的區別 和 的區別

他們之間的區別用最直接的話來說就是 相當於對資料 加上 雙引號,相當於直接顯示資料。1 對傳入的引數視為字串,也就是它會預編譯select from user where name 比如我傳乙個csdn,那麼傳過來就是select from user where name csdn 2 將不會將傳入...

a和 a的區別

這道題目是我在面試的時候碰到的。當時面試官問我的時候,由於我什麼基礎都比較差,我聽到這個問題的時候整個人都傻了。我心想當時學c語言的時候,我只記得老師說這個都代表a陣列的首位址啊,這有什麼區別呢?這道題目,我最終沒有答出來,都怪我太菜了。今天這篇文章就當做是乙個記錄吧,也希望能給還不q清楚的同學一點...

and和or的區別

題目 求結果 a.1 or 2 b.1 and 2 c.1 2 2 d.1 2 2 結果 a 1 b 2 c 0 d 1 總結and和or的用法 and 從左到右,返回第乙個為假的表示式值,無假值則返回最後乙個表示式值。or 從左到右,返回第乙個為真的表示式值,無真值則返回最後乙個表示式值。備註 感...