先羅列一下Python提供的基本數(shù)據(jù)類型:數(shù)值(整型、浮點(diǎn)型、復(fù)數(shù)、布爾型等)、字符串、列表、元組、字典、集合等,將它們簡(jiǎn)單分類如下:
numbers:列出了一些簡(jiǎn)單的例子
bool:調(diào)用bool()可以檢查變量的真假值True或False。
if語(yǔ)句通過(guò)判斷布爾類型來(lái)控制程序的執(zhí)行路徑,同時(shí)在 Python 中數(shù)據(jù)有隱式的真假值,可以使代碼變得簡(jiǎn)短有效,如下
首先,我們定義一個(gè)s='python'語(yǔ)句,它在計(jì)算機(jī)中的執(zhí)行順序是先在內(nèi)存中創(chuàng)建一個(gè)字符串python,在程序棧寄存器中創(chuàng)建一個(gè)變量s,最后把python的地址賦給s 。
再來(lái)看看字符串的一些常見(jiàn)操作
切片
替換
查找
find()
index()
轉(zhuǎn)大小寫(xiě)
upper(),lower(),swapcase(),capitalize()
去空格,strip()、lstrip()、rstrip()
連接與分割
使用 + 連接字符串,每次操作會(huì)重新計(jì)算、開(kāi)辟、釋放內(nèi)存,效率很低,所以推薦使用join
還有一些常用的,這里只列出來(lái)
以上是一些常見(jiàn)的操作,當(dāng)然還有一個(gè)沒(méi)有列出來(lái),這里想單獨(dú)拿來(lái)談?wù)劊褪?Python3 字符串的編碼:
ASCII 編碼出現(xiàn)最早,只有大小寫(xiě)英文字母、數(shù)字和一些符號(hào)等127個(gè)字符,為了實(shí)現(xiàn)多語(yǔ)言表示,如中文的GB2312編碼,日文的Shift_JIS編碼等,Unicode 孕育而生,它將所有語(yǔ)言都統(tǒng)一到一套編碼中;
在 Python3 中所有字符串在內(nèi)存中均是 Unicode 保存;
當(dāng)需要將文件保存到外設(shè)或進(jìn)行網(wǎng)絡(luò)傳輸時(shí),就要進(jìn)行編碼轉(zhuǎn)換,將字符轉(zhuǎn)換為字節(jié),以提高效率
在 Python3 中,內(nèi)存中的 Unicode 字符用 str 對(duì)象表示,對(duì)應(yīng)于的,Python3 使用了一種全新的數(shù)據(jù)類型來(lái)表示字節(jié),就是 bytes,所以 encode 轉(zhuǎn)換后的字節(jié)流就不是 str 對(duì)象,而是 bytes 字節(jié)對(duì)象,它當(dāng)然支持分片、索引、基本數(shù)值運(yùn)算等操作,但 str 與 bytes 類型的數(shù)據(jù)不能進(jìn)行+操作。
來(lái)看看 bytes 數(shù)據(jù)類型的定義:
從上述例子中可以看出 bytes 對(duì)象不能由超出 ASCII 碼范圍的字符組成,只接受 ASCII 碼這個(gè)范圍的字符。
同樣,從上面的例子我們還可以總結(jié)出一些坑爹的東西:
Unicode 碼在 Python3 中有兩種表示方式,u'字符串'和\u四位十六進(jìn)制數(shù);區(qū)分r'字符串' ,是表示不轉(zhuǎn)義的原始字符串
將字符直接以 Unicode 碼保存使用unicode-escape
在 Python 的交互式環(huán)境中,輸出 bytes 對(duì)象時(shí),可按 ASCII 碼表示,或按十六進(jìn)制\x表示
在 Python 頭聲明#-*- coding:utf-8 -*-,是告訴 Python 編譯器按utf-8的方式讀取,這個(gè)聲明并不能將 Python 文件本身保存成utf-8,這時(shí)候需要借助文本編輯器保存文件編碼。
編碼部分我的理解就是這些了,感覺(jué)還是沒(méi)有將編碼問(wèn)題總結(jié)清楚(無(wú)奈),還有什么補(bǔ)充的可以留言給小編
Python 可使用語(yǔ)法糖[]表示列表,其中的元素可以是任何類型,以順序存儲(chǔ)的方式動(dòng)態(tài)儲(chǔ)存數(shù)據(jù):
元組與列表不同的是,元組是不可變類型(immutable),不能對(duì)元素進(jìn)行修改,但內(nèi)存可以明確知道需要分配多少空間給元組
字典是通過(guò)鍵值對(duì)的方式進(jìn)行存儲(chǔ),占用大量的內(nèi)存而獲得極快的查找和插入速度,而列表剛好相反,查找和插入速度隨著元素的增加而變慢,但占用的內(nèi)存較小。字典雖然是可變類型,但因?yàn)樗?value 的位置是根據(jù) key 計(jì)算出來(lái)的,因此 key 必須是不可變對(duì)象,這樣才能確保字典的正確使用。
Python 允許通過(guò)繼承去自定義數(shù)據(jù)類型,很多第三方庫(kù)或框架都有類似的應(yīng)用,這里簡(jiǎn)單實(shí)現(xiàn)了一個(gè)供參考:
各位大大們,要是覺(jué)得有用就點(diǎn)個(gè)關(guān)注,加個(gè)評(píng)論給小編一個(gè)鼓勵(lì)吧
聯(lián)系客服