當前位置:
首頁 > 最新 > 你必須知道的基本數據類型之二

你必須知道的基本數據類型之二

版權聲明

上周,我們講了在python中常見的數字類型,知道了整形、浮點型、布爾類型、複數類型中一些比較容易忽略的節。算是在講python基本數據類型的時候,上的一盤開胃菜。

序列:字元串、列表、元組

首先是序列。序列里又分為字元串、列表、元組三個細類。關於字元串我在此前的一篇文章里有詳細講它的簡單計算,直達鏈接我放在下面,這裡就不重複講了。

但是,除了字元串的簡單運算之外,我們還得知道:在Python中,通常用單引號、雙引號和三引號來表示字元串。

如上圖所示,1和』1』的類型,是完全一樣的。但是,值得在意的是,無論是單引號還是雙引號,若要用它來表示字元串的話,一定要成對的出現。我這兒以字元串let』s go為例,先來看張圖。

你看吧,在第一行,當單引號(或雙引號)出現了三次,系統直接報錯了對不對。這是因為單引號(或雙引號)一定得成對的出現。但是你看看最後一行,單引號也是出現了三次,為什麼又能直接運行了呢?這得引入在字元串類型中,不得不講的一個概念:轉義字元。

直白的說,轉義字元的意思就是將原本有額外含義的字元串,轉換為普通的字元串類型。

在Python里,轉義字元有很多,相對比較常見的主要是表示兩類字元:(1)無法「看見」的字元,如回車;(2)與語言本身有衝突的字元,如單引號。

還記得我們上面講到的字元串還可以用三引號來表示嗎?這倒是沒錯,但是三引號在表示字元串類型的時候,與單引號和雙引號表示字元串是略有一點不同的

就如圖那樣,三引號可以表示多行字元串。當我們用單引號、雙引號準備換行輸入的時候,系統會報錯。用三引號在輸入的時候,系統會直接跳到下一行,直到你最後以一個三引號結尾,因為要成對嘛。但是,你發現了么?最後的結果顯示,並沒有按照我們所預想的那樣顯示三行字元串。這其中反而是有「
」這樣的字元插入。別急,我們用print函數列印一遍。

發現了什麼了嗎?是否感覺「
」有點似曾相識?對的,「
」就是我們用轉義字元表示的「換行」字元。這個字元恰恰是我們平時看不見的,需要轉義字元來協助。試想一下,有了「
」的存在,那麼我們在使用雙引號和單引號的時候,是否也是可以使得字元串直接換行呢?不過,這個我就不貼答案了,想知道答案還是建議你實際操作一下。

接下來,我們講講列表類型和元組類型。有了前面字元串簡單運算的基礎,這倆貨解釋起來也就相對比較簡單了。

在Python中,我們通常是使用「[]」來表示列表類型,用「()」來表示元組類型。但要注意的是,無論是在列表類型還是在元組類型中,這裡邊不僅僅可以輸入數字,還可以是字元串,甚至可以是列表(或元組)本身。

和字元串一樣,列表類型和元組類型也是可以進行切片運算的,不同的是,在列表類型和元組類型中抽取元素的時候,是按照每個「塊」來抽取的。

列表和元組按照「塊」來抽取元素,在上圖中的後幾個嵌套列表和嵌套元組中表現比較明顯。而且,當某列表和元組嵌套有列表(或元組)的時候,也是可以對裡邊的那個列表(或元組)在進行切片的,這個時候,只需要先定位到裡面的那個列表(或元組),而後再額外進行切片。如上圖中的:「[5][2]」。

集合與字典

以上的這三類數據類型,在Python里被統一稱作為「序列」。但除了序列外,在組的概念的里,還有集合和字典兩個比較常用的數據類型,它們都是用「{}」來表示。

在講集合的時候,我們需要明確它與序列相反的兩個特性:

但同時,我們知道了集合的這兩個東西還不夠。你還記得我們高中數學學過的集合吧,它有差集、交集和並集的概念。在Python里的集合類型,也同樣適用:

但,同樣的操作可不適用於序列。

好,基本的集合過後,就是今天要講的最後一個數據類型——字典了。前面我們知道,字典也是和集合一樣,在Python里是用「{}」來表示。這是因為字典也具有集合的那兩大特性,但字典的關鍵之處卻並不在於這兩個特性。

要理解字典的話,我們先來回憶一下我們小時候經常被老師或者老媽逼著查現代漢語詞典時的模樣。

當我們要查「數」這個字的時候,不管是通過偏旁還是拼音,我們首先要定位到的,是與「數」相關的關鍵字,然後才能定位到「數」這個字的所在頁碼。

映射到Python里的字典,邏輯也是一樣的:通過key找到value

因為字典中的key是做檢索用的關鍵字,和我們日常用的詞典一樣,key也是不能重複的,保持著相對的獨立性

廢話了這麼多,那字典是怎麼運作的呢?看圖

雖然集合是無序的,但是有了字典,它也是可以被「抽取元素」的。這裡要注意:在字典里,key在前,value在後,可別弄反了喲。

好,至此,Python里的基本數據類型就介紹完畢了。不能說哪個更加重要,但這些都是我們在運用Python的過程中,經常會遇到的知識點。如果有不全地方,歡迎親在下方進行補充,一起學習,一起進步。


喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 沁機邁可思 的精彩文章:

TAG:沁機邁可思 |