巨蟒python全栈开发-第6天 is==
生活随笔
收集整理的這篇文章主要介紹了
巨蟒python全栈开发-第6天 is==
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
1.小數(shù)據(jù)池
2.id
3.decode和encode
?
小數(shù)據(jù)池
#小數(shù)據(jù)池:不要死磕就行#python為了簡(jiǎn)化,搞出來(lái)的一個(gè)東西
ID
(1)
# id()函數(shù)可以幫我們查看一個(gè)變量的內(nèi)存地址
# a=10
# b=30
# c=10
# print(id(a)) #1712876864
# print(id(b)) #1712877504
# print(id(c)) #1712876864
(2)
# lst=['周杰倫','麻花藤']
# print(id(lst)) #1248606696968
# lst.append('胡辣湯')
# print(id(lst)) #1248606696968
#你哥還是你哥,你的包還是你的包
#在這個(gè)過(guò)程中,始終還是那個(gè)那個(gè)包
(3)
# lst=['周杰倫','麻花藤']
# print(id(lst)) #2415882876424
# lst=[] #重新定義一個(gè)列表
# lst.append('胡辣湯')
# print(id(lst)) #2415882876296
#
(4)#兩個(gè)對(duì)象的內(nèi)存地址是不一樣的
'''
lst1=[1,2,3]
lst2=[1,2,3]
print(id(lst1)) #1845106652680
print(id(lst2)) #1845106652552
'''
(5)#python&java等等最慢的事情是:創(chuàng)建對(duì)象 作用:顯著提高程序的運(yùn)行效率
#隨著時(shí)間的提升,內(nèi)存會(huì)不斷被消耗
'''
s1='abc' #內(nèi)存中是沒(méi)有'abc,創(chuàng)建一個(gè)新的 0.001
s2='abc' #內(nèi)存中已經(jīng)有了'abc',直接把a(bǔ)bc拿來(lái)用 0.00000001
print(id(s1),id(s2)) #1351674474712 1351674474712
'''
#程序中出現(xiàn)最高的數(shù)據(jù)類(lèi)型:字符串,為了能夠快速的創(chuàng)建字符串
#節(jié)省內(nèi)存,把相同的規(guī)律的字符串進(jìn)行緩存,當(dāng)下次創(chuàng)建的時(shí)候就不再創(chuàng)建了
#把字符串的緩存 ->小數(shù)據(jù)池->String iterning ->常量池->字符串緩存
#其他語(yǔ)言:常量池,字符串緩存
#在創(chuàng)建字符串之前,先去小數(shù)據(jù)池對(duì)比,是否已經(jīng)存在了該字符串,如果存在了.
#就不創(chuàng)建新的了,直接拿原來(lái)存在的數(shù)據(jù),省略掉反復(fù)重復(fù)創(chuàng)建字符串的過(guò)程,節(jié)省內(nèi)存
(6)#小數(shù)據(jù)池只針對(duì):數(shù)字,字符串,布爾值
# 什么數(shù)據(jù)會(huì)被緩存?
#數(shù)字,字符串,布爾值=》 都是不可變的數(shù)據(jù)類(lèi)型(因?yàn)樗麜?huì)被很多人使用)
#有緩存和駐留機(jī)制
#基本數(shù)據(jù)類(lèi)型:int bool str list tuple dic set
1.#數(shù)字
'''
a=1000
b=1000
print(id(a),id(b)) #2811993566928 2811993566928
'''
#在CMD顯示不一樣 -5-256
#在pycharm是顯示一樣的
2.#字符串,如果單純的寫(xiě)字符串,幾乎都會(huì)被緩存
'''
s1='alex昨天上廁所沒(méi)關(guān)門(mén),韓紅沖進(jìn)去了,風(fēng)扇個(gè)出來(lái)了,alex昨天上廁所沒(méi)關(guān)門(mén),韓紅沖進(jìn)去了,風(fēng)扇個(gè)出來(lái)了'
s2='alex昨天上廁所沒(méi)關(guān)門(mén),韓紅沖進(jìn)去了,風(fēng)扇個(gè)出來(lái)了,alex昨天上廁所沒(méi)關(guān)門(mén),韓紅沖進(jìn)去了,風(fēng)扇個(gè)出來(lái)了'
print(id(s1),id(s2)) #2793562660912 2793562660912
'''
'''
如果在py文件中寫(xiě)的字符串,幾乎都是緩存的
在黑窗口里寫(xiě)的幾乎都不會(huì)緩存
#不同的解釋器,緩存的機(jī)制也不一樣
# 優(yōu)點(diǎn):可以幫助我們快速的創(chuàng)建對(duì)象,節(jié)省內(nèi)存
# 缺點(diǎn):緩存如果過(guò)大,響應(yīng)速度會(huì)比較慢
#但是我們 "不要糾結(jié)"
'''
# ==和 is
'''
硬盤(pán): 80MB/S(數(shù)據(jù)庫(kù))
內(nèi)存: 緩沖的作用 2G/S
CPU: 3Ghz (應(yīng)用)
#內(nèi)存很滿很滿時(shí),會(huì)直接找硬盤(pán),也就是硬盤(pán)中的內(nèi)存機(jī)制
#百萬(wàn)并發(fā):90萬(wàn)人在等待
#中間機(jī)制:中間加上緩存,現(xiàn)在的就是緩存
#短期內(nèi)不改的,就放在小數(shù)據(jù)池內(nèi),京東的頁(yè)面
#每天緩存一份,但是價(jià)格不緩存
'''
(7)#==(判斷內(nèi)容)和 is(判斷內(nèi)存地址) 的區(qū)別
#== 比較的是數(shù)據(jù),外貌
#is 比較的是內(nèi)存地址,比較身份證號(hào)
'''
lst1=[1,2,3]
lst2=[1,2,3]
#列表沒(méi)有小數(shù)據(jù)池
print(id(lst1),id(lst2)) #2231123785096 2231123785224#并且每次的運(yùn)行結(jié)果都不一樣
print(lst1==lst2) #True
print(lst1 is lst2) #False
s1='我叫周潤(rùn)發(fā)'
s2='我叫周潤(rùn)發(fā)'
print(s1==s2) #True
#print(s1 is s2) #True #小數(shù)據(jù)池
tu1=('周一','周二')
tu2=('周一','周二')
print(tu1 is tu2) #False 內(nèi)存地址不相同
print(tu1 == tu2) #True 內(nèi)容一樣
'''
3.decode和encode
(1)
'''
s='我今天非常的困'
bs=s.encode('utf-8') #把字符串轉(zhuǎn)化成utf-8格式bytes
print(bs)
#bytes不是給人看的,給機(jī)器用的
#21個(gè)字節(jié)
# b'\xe6\x88\x91\xe4\xbb\x8a\xe5\xa4\xa9\xe9\x9d\x9e\xe5\xb8\xb8\xe7\x9a\x84\xe5\x9b\xb0'
bs=s.encode('gbk') #把字符串轉(zhuǎn)化成utf-8格式bytes
print(bs)
#b'\xce\xd2\xbd\xf1\xcc\xec\xb7\xc7\xb3\xa3\xb5\xc4\xc0\xa7'
#utf-8和gbk是不能直接轉(zhuǎn)換的,必須使用unicode來(lái)轉(zhuǎn)換
'''
(2)
'''
bs=b'\xce\xd2\xbd\xf1\xcc\xec\xb7\xc7\xb3\xa3\xb5\xc4\xc0\xa7'
s=bs.decode('gbk')
print(s)
sb = b'\xe6\x88\x91\xe4\xbb\x8a\xe5\xa4\xa9\xe9\x9d\x9e\xe5\xb8\xb8\xe7\x9a\x84\xe5\x9b\xb0'
s=sb.decode('utf-8')
print(s)
#爬蟲(chóng)中,在網(wǎng)站上,有的用的是GBK,有的就是utf-8
'''
#練習(xí)
'''
sb = b'\xe6\x88\x91\xe4\xbb\x8a\xe5\xa4\xa9\xe9\x9d\x9e\xe5\xb8\xb8\xe7\x9a\x84\xe5\x9b\xb0'
gb=sb.decode('utf-8') #解碼
gbk_1=gb.encode('gbk') #編碼
print(gbk_1)
'''
# 關(guān)于bytes,非ascii中的內(nèi)容,展示的是\x..,如果是ascii中的內(nèi)容,原樣輸出
# name='alex昨天吃多了'
# bs=name.encode('gbk')
# print(bs)
name='alex昨天吃多了'
bs=name.encode('GBK')
print(bs)
轉(zhuǎn)載于:https://www.cnblogs.com/studybrother/p/10060489.html
總結(jié)
以上是生活随笔為你收集整理的巨蟒python全栈开发-第6天 is==的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 梦到别人头上有虱子这是怎么回事
- 下一篇: 做梦梦到自己吐血了是怎么回事