摘要:表示的通過(guò)方法可以編碼為指定的。有圖有真相沒(méi)看錯(cuò)就是這么簡(jiǎn)單,但是要注意有中文的這種異類(lèi)是無(wú)法用帥氣的編碼的,因?yàn)橹形木幋a的范圍超過(guò)了編碼所能承受帥氣的范圍,會(huì)報(bào)錯(cuò)。
了解:ASCII編碼(是1個(gè)字節(jié))仍然可以完美滴處理數(shù)字,因?yàn)樽钤绲臅r(shí)候只有127個(gè)字符編入計(jì)算機(jī),但是遇到處理中文1個(gè)字節(jié)就有點(diǎn)捉襟見(jiàn)肘了,這時(shí)候我們就腦殼疼了,所以中國(guó)制定了GB2312編碼,用來(lái)把中文編進(jìn)去;然后各國(guó)也開(kāi)始制定自己國(guó)家的編碼,日文有Shift_JIS,韓文有Euc_kr。多種語(yǔ)言的編碼又讓計(jì)算機(jī)苦不堪言了,于是各種亂碼就在頁(yè)面中上躥下跳了。時(shí)勢(shì)造英雄Unicode應(yīng)運(yùn)而生(通常是2個(gè)字節(jié)),把所有語(yǔ)言都統(tǒng)一到這編碼中,足以應(yīng)對(duì)亂碼的負(fù)隅頑抗。然后對(duì)比了一下兩者的區(qū)別:
發(fā)現(xiàn)“競(jìng)”用Unicode編碼十進(jìn)制是31454,,二進(jìn)制看上面,而字母“A”用Unicode編碼存儲(chǔ)還要在前面補(bǔ)八個(gè)0。這就讓計(jì)算機(jī)大哥很不爽了,無(wú)端端自己胖了一圈(用Unicode編碼比用ASCII編碼需要多出一倍的存儲(chǔ)空間)為了保持優(yōu)雅的身姿就直接化身為UTF-8編碼。
這時(shí)候計(jì)算機(jī)就可以把一個(gè)Unicode字符根據(jù)不同數(shù)字大小編碼成(1-6)個(gè)字節(jié)任君挑選了。(常用字母一般1個(gè)字節(jié),漢字稍肥3個(gè)字節(jié),只有那些歪瓜裂棗才4-6個(gè)字節(jié))好了到這里就可以說(shuō)是減肥成功了。(節(jié)省了空間)
淺顯的認(rèn)識(shí)一下Python3中的“字符串”小弟
(1)首先要知道這家伙是由Unicode編碼滴,支持多語(yǔ)言,看圖說(shuō)話(huà):
(2)對(duì)于單個(gè)字符編碼這種小意思的事情,Python提供ord()函數(shù)然字符搖身一變就成了整數(shù)了,chr()就硬生生把編碼轉(zhuǎn)換為對(duì)應(yīng)字符啦。
小試牛刀:
(3)如果你不小心知道了字符的整數(shù)編碼,還闊以用十六進(jìn)制怎么操作str滴:
(4) 由于Python字符串類(lèi)型是str(廢話(huà)),以Unicode行走在內(nèi)存中,一個(gè)字符對(duì)應(yīng)
(1-6)個(gè)字節(jié),但如果你要做一些不可描述的事,比如在網(wǎng)絡(luò)上傳輸或保存在你珍藏的磁盤(pán)上,就需要把str這廝變成以字節(jié)為單位的bytes。Unicode表示的str通過(guò)encode()方法可以編碼為指定的bytes。
有圖有真相:
沒(méi)看錯(cuò)就是這么簡(jiǎn)單,但是要注意有中文的str這種異類(lèi)是無(wú)法用帥氣的ASCII編碼的,因?yàn)橹形木幋a的范圍超過(guò)了ASCII編碼所能承受帥氣的范圍,Python會(huì)報(bào)錯(cuò)。
相反的如果我們偷偷的從網(wǎng)絡(luò)或者磁盤(pán)讀取了(咳咳)字節(jié)流,那么讀到的數(shù)據(jù)就是bytes。想讓它恢復(fù)本性,就得decode()方法出場(chǎng)了。
很明顯了如果bytes中包含無(wú)法解碼的字節(jié),decode()方法就會(huì)無(wú)情的報(bào)錯(cuò)了。如果它只是犯了一點(diǎn)點(diǎn)錯(cuò)(一部分無(wú)效字節(jié))我們還是可以用(errors=’ignore’)拯救一下滴。
腦殘的想計(jì)算一下str包含多少個(gè)字符,可以用len()函數(shù)瞧瞧。
不能厚此薄彼能計(jì)算str字符數(shù),len()函數(shù)對(duì)bytes,就可以計(jì)算字節(jié)數(shù):
*格式化 經(jīng)常我們都會(huì)不小心瞄到什么‘親愛(ài)滴xxx您好!你上個(gè)月還欠我不少話(huà)費(fèi)呢,總共xxx’這樣的字符串,對(duì)于 xxx的內(nèi)容我們是根據(jù)變量變化的,所以這就得格式化字符串的方式閃亮登場(chǎng)了。(用%實(shí)現(xiàn))
它可不止上面兩兄弟,來(lái)給你看看比較常遇到的幾胞胎,別搞錯(cuò)了
下面的操作是比較666滴
解釋一下:03代表要補(bǔ)零,因?yàn)橛腥齻€(gè)數(shù),所以就補(bǔ)兩個(gè)零即可; .2f 表示:保留小數(shù)點(diǎn)后兩位。
格式化整數(shù)和浮點(diǎn)數(shù)并制定是否補(bǔ)0和整數(shù)與小數(shù)的位數(shù)。
還有一種比較繁瑣的方法Fomat()原理:用傳入的參數(shù)依次替換字符串內(nèi)的占位符
注意:
傳入的參數(shù)要一一對(duì)應(yīng),還有要看清楚寫(xiě)法比如上圖的:{0}、{1:.1f}%、{2}…昨天我家商鋪盈利了6000元,今天盈利了8500元,計(jì)算一下盈利提升的百分點(diǎn),用格式化字符串表示“xx.x%”,保留小數(shù)點(diǎn)后一位。
是時(shí)候表演真正的技術(shù)了
其中:s1為昨天盈利,s2為今天盈利;
注意:
“%”是普通字符時(shí)用“%%”進(jìn)行轉(zhuǎn)義
。
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://specialneedsforspecialkids.com/yun/41440.html
摘要:理解了輸入輸出,就可以簡(jiǎn)單的打印有意義的程序了比如打印先輸入回車(chē)輸入或其它內(nèi)容,存入變量輸入當(dāng)然為了用戶(hù)體驗(yàn)更好,可以適當(dāng)?shù)奶砑右恍┨崾拘畔?shù)據(jù)類(lèi)型和變量整數(shù)常用十六進(jìn)制表示與數(shù)學(xué)上表示方法一樣等。常量不能變的量,通常用大寫(xiě)字母表示 1、輸出函數(shù):Print() 接受多個(gè)字符串時(shí)用逗號(hào)隔開(kāi)(相當(dāng)于空格),就可連成一串輸出。 showImg(https://segmentfault.co...
摘要:再調(diào)用個(gè)絕對(duì)值內(nèi)置函數(shù)來(lái)加深影響心急吃不了熱豆腐啊有且僅能傳入一個(gè)參數(shù),傳入不符合數(shù)量的參數(shù)就會(huì)報(bào)錯(cuò)誤傳入的參數(shù)數(shù)量是沒(méi)錯(cuò)了,但傳入錯(cuò)誤的參數(shù)類(lèi)型也是會(huì)死的很慘的。 調(diào)用函數(shù) 干貨:Python官網(wǎng)查看函數(shù)幫助信息 http://docs.python.org/3/libr... showImg(https://segmentfault.com/img/bV71Kn?w=348&h=8...
摘要:同樣的用上節(jié)講的函數(shù)獲取元素的個(gè)數(shù)記住這是獲取的是列表個(gè)數(shù)個(gè)數(shù)個(gè)數(shù)重要的事說(shuō)三遍。用索引訪問(wèn)每個(gè)元素的位置,索引是從開(kāi)始的開(kāi)始的開(kāi)始的索引也是有容忍限度的超過(guò)了就會(huì)原地爆炸報(bào)錯(cuò)如果列表中元素個(gè)數(shù)賊多,想獲取后面的元素就要實(shí)行曲線(xiàn)救國(guó)了。 list和tuple是Python內(nèi)置的有序集合,一個(gè)是可變的,一個(gè)是不可變滴;這都不是事,主要是理解一下指向不變。 看圖說(shuō)話(huà): showImg(ht...
摘要:簡(jiǎn)單的條件判斷剖析一個(gè)簡(jiǎn)單的程序理解條件判斷首先再次尬聊一下之前已經(jīng)提過(guò)可以用讀取用戶(hù)輸入。沒(méi)有對(duì)比就沒(méi)有傷害,先舉個(gè)例子這是一個(gè)循規(guī)蹈矩的的條件判斷語(yǔ)句。 簡(jiǎn)單的條件判斷 剖析一個(gè)簡(jiǎn)單的程序理解條件判斷 showImg(https://segmentfault.com/img/bV7VFS?w=300&h=377); 首先再次尬聊一下input()之前已經(jīng)提過(guò)可以用input()讀取...
摘要:默認(rèn)參數(shù)這家伙還是有點(diǎn)點(diǎn)瑕疵的,默認(rèn)參數(shù)必須一定以及肯定得指向不可變對(duì)象。寫(xiě)完這頑固不化的默認(rèn)參數(shù),就輪到靈活多變的可變參數(shù)上場(chǎng)了。 函數(shù)的參數(shù) 總結(jié)一下這幾種參數(shù)先:本來(lái)位置是默認(rèn)滴,后來(lái)不知咋地可變了,位置上還用關(guān)鍵字這么上檔次的名字命名關(guān)鍵字了。先講講廢話(huà):我們做接口自動(dòng)化或者其它測(cè)試,總之需要使用一些參數(shù)的時(shí)候,我們作為函數(shù)的調(diào)用者,無(wú)需了解太多,你只需要膚淺的知道如何如何滴傳...
閱讀 3794·2023-04-25 16:32
閱讀 2194·2021-09-28 09:36
閱讀 2035·2021-09-06 15:02
閱讀 673·2021-09-02 15:21
閱讀 918·2019-08-30 15:56
閱讀 3513·2019-08-30 15:45
閱讀 1708·2019-08-30 13:09
閱讀 379·2019-08-29 16:05