梳理Python基本認(rèn)識(shí)基本類(lèi)型,從零開(kāi)始,學(xué)習(xí)Python

先羅列一下Python提供的基本數(shù)據(jù)類(lèi)型:數(shù)值(整型、浮點(diǎn)型、復(fù)數(shù)、布爾型等)、字符串、列表、元組、字典、集合等,將它們簡(jiǎn)單分類(lèi)如下:

在這里還是要推薦下我自己建的Python開(kāi)發(fā)學(xué)習(xí)群:628979297,群里都是學(xué)Python開(kāi)發(fā)的,如果你正在學(xué)習(xí)Python ,小編歡迎你加入,大家都是軟件開(kāi)發(fā)黨,不定期分享干貨(只有Python軟件開(kāi)發(fā)相關(guān)的),包括我自己整理的一份2018最新的Python進(jìn)階資料和高級(jí)開(kāi)發(fā)教程,歡迎進(jìn)階中和進(jìn)想深入Python的小伙伴

數(shù)值(Numbers)

numbers:列出了一些簡(jiǎn)單的例子

bool:調(diào)用bool()可以檢查變量的真假值True或False。

if語(yǔ)句通過(guò)判斷布爾類(lèi)型來(lái)控制程序的執(zhí)行路徑,同時(shí)在 Python 中數(shù)據(jù)有隱式的真假值,可以使代碼變得簡(jiǎn)短有效,如下

字符串(String)

首先,我們定義一個(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)型來(lái)表示字節(jié),就是 bytes,所以 encode 轉(zhuǎn)換后的字節(jié)流就不是 str 對(duì)象,而是 bytes 字節(jié)對(duì)象,它當(dāng)然支持分片、索引、基本數(shù)值運(yùn)算等操作,但 str 與 bytes 類(lèi)型的數(shù)據(jù)不能進(jìn)行+操作。

來(lái)看看 bytes 數(shù)據(jù)類(lèi)型的定義:

從上述例子中可以看出 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ǔ)充的可以留言給小編

列表(List)

Python 可使用語(yǔ)法糖[]表示列表,其中的元素可以是任何類(lèi)型,以順序存儲(chǔ)的方式動(dòng)態(tài)儲(chǔ)存數(shù)據(jù):

元組(Tuple)

元組與列表不同的是,元組是不可變類(lèi)型(immutable),不能對(duì)元素進(jìn)行修改,但內(nèi)存可以明確知道需要分配多少空間給元組

字典(Dictionaries)

字典是通過(guò)鍵值對(duì)的方式進(jìn)行存儲(chǔ),占用大量的內(nèi)存而獲得極快的查找和插入速度,而列表剛好相反,查找和插入速度隨著元素的增加而變慢,但占用的內(nèi)存較小。字典雖然是可變類(lèi)型,但因?yàn)樗?value 的位置是根據(jù) key 計(jì)算出來(lái)的,因此 key 必須是不可變對(duì)象,這樣才能確保字典的正確使用。

自定義數(shù)據(jù)類(lèi)型

Python 允許通過(guò)繼承去自定義數(shù)據(jù)類(lèi)型,很多第三方庫(kù)或框架都有類(lèi)似的應(yīng)用,這里簡(jiǎn)單實(shí)現(xiàn)了一個(gè)供參考:

各位大大們,要是覺(jué)得有用就點(diǎn)個(gè)關(guān)注,加個(gè)評(píng)論給小編一個(gè)鼓勵(lì)吧

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀(guān)點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 字符集和編碼簡(jiǎn)介 在編程中常常可以見(jiàn)到各種字符集和編碼,包括ASCII,MBCS,Unicode等字符集。確切的說(shuō)...
    蘭山小亭閱讀 9,091評(píng)論 0 13
  • 個(gè)人筆記,方便自己查閱使用 Py.LangSpec.Contents Refs Built-in Closure ...
    freenik閱讀 67,949評(píng)論 0 5
  • 〇、前言 本文共108張圖,流量黨請(qǐng)慎重! 歷時(shí)1個(gè)半月,我把自己學(xué)習(xí)Python基礎(chǔ)知識(shí)的框架詳細(xì)梳理了一遍。 ...
    Raxxie閱讀 19,583評(píng)論 17 410
  • 小時(shí)候讀三國(guó),劉備是個(gè)奇人,雙耳垂肩,雙手過(guò)膝,并沒(méi)有覺(jué)得奇怪。后來(lái)看電視劇版的劉先生,笑瞇瞇好親切,憑著外貌和德...
    linyuyao66閱讀 285評(píng)論 0 0
  • 2017年6月27日,我和胡老師早晨七點(diǎn)起來(lái)吃早飯,吃完早飯我們出去。嗯,然后胡老師和和那個(gè)阿姨去了古玩城(天下收...
    每個(gè)人的孟母堂閱讀 551評(píng)論 1 0

友情鏈接更多精彩內(nèi)容