Python支援哪些資料型別

daxuesheng發表於2021-09-11

Python支援哪些資料型別

Python基本資料型別一般分為:數字、字串、列表、元組、字典、集合這六種基本資料型別。

數字

數字型別是不可更改的物件。對變數改變數字值就是生成/建立新的物件。Python支援多種數字型別:
整型(標準整型和長整型(Python2.7及之前的有這種型別))、布林型、雙精度浮點型、十進位制浮點型、複數。
標準整型
int,標準整型,在大多數32位機器上標準整型取值範圍是-2^31到2^31-1,也就是-2147483648~2147483647,如果在64位機器使用64位
編譯器,那麼這個系統的標準整型將是64位。

布林型

bool,從Python2.3開始Python中新增了布林型別。布林型別有兩種True和False。對於沒有__nozero__方法的物件預設是True。

對於值為0的數字、空集(空列表、空元組、空字典等)在Python中的布林型別中都是False。

>>> bool(1)
True
>>> bool('a')
True
>>> bool(0)
False
>>> bool('')
False

浮點型

float,每個浮點型佔8個位元組(64位),完全遵守IEEE754號規範(52M/11E/1S),其中52個位用於表示底,11個位用於表示指數(可表示
的範圍大約是±10**308.25),剩下的一個位表示符號。這看上去相當完美,然而,實際精度依賴於機器架構和建立Python直譯器的編譯
器。
浮點型值通常都有一個小數點和一個可選的字尾e(大寫或小寫,表示科學計數法)。在e和指數之間可以用正(+)或負(-)表示指數
的正負(正數的話可以省略符號)。

以上是Python核心程式設計的對浮點型(雙精度浮點型)的說明。經過Python實測浮點型預設長度是24位元組如果超出這個範圍會自動

複數型別

complex,在複數中虛數不能單獨存在,它們總是和一個值為0.0的實數部分一起來構成一個複數。

複數由實數部分和虛數部分構成。
表示虛數的語法:real+imagj。
實數部分和虛數部分都是浮點型。
虛數部分必須有字尾j或J。

字串

字串(string)是不可變型別,就是說改變一個字串的元素需要新建一個新的字串。字串是由獨立的字元組成的,並且這些字元
可以透過切片操作順序地訪問。Python裡面透過在引號間包含字元的方式建立字串,單引號和雙引號的作用是相同的。
Python用“原始字串”運算子來建立直接量字串,所以再做區分就沒什麼意義了。其他的語言,比如C語言裡面用單引號來標示
字元,雙引號標示字串,而在Python裡面沒有字元這個型別。這可能是雙引號和單引號在Python裡面被視作一樣的另一個原因。

Python實際上有三類字串。通常意義的字串(str) 和Unicode字串(unicode) 實際上都是抽象類basestring的子類。這個basestring是不能例項化的。

列表

列表(list)像字串型別一樣,列表型別也是序列式的資料型別。字串只能由字元組成,而且是不可變的(不能單獨改變它的某
個值),而列表則是能保留任意數目的Python物件的靈活的容器。

列表不僅可以包含Python的標準型別,而且可以用使用者定義的物件作為自己的元素。列表可以包含不同型別的物件,而且要比C或者Python自己的陣列型別(包含在array擴充套件包中)都要靈活,因為陣列型別所有的元素只能是一種型別。列表可以執行pop,sort、reverse等操作。列表也可以新增或者減少元素,還可以跟其他的列表結合或者把一個列表分成幾個。可以對單獨一個元素或者多個元素執行insert、update或remove操作。

元組

元組型別在很多操作上都跟列表一樣,許多用在列表上的例子在元組上照樣能跑,我們有一節內容專門講解元組型別。它們的主要不同
在於元組是不可變的,或者說是隻讀的,所以那些用於更新列表的操作,比如用切片操作來更新一部分元素的操作,就不能用於元
組型別。

字典

字典是Python語言中唯一的對映型別。對映型別物件裡雜湊值(鍵,key) 和指向的物件(值。value) 是一對多的關係。一個字典物件是可變的,它是一個容器型別,能儲存任意個數的Python物件,其中也包括其他容器型別。字典型別和序列型別容器類(列表、元組) 的區別是儲存和訪問資料的方式不同。序列型別只用數字型別的鍵(從序列的開始起按數值順序索引) 。對映型別可以用其他物件型別做鍵,一般最常見的是用字串做鍵。和序列型別的鍵不同,映像型別的鍵直接或間接地和儲存的資料值相關聯。但因為在對映型別中,我們不再用“序列化排序”的鍵,所以映像型別中的資料是無序排列的對映型別不要求用數字值做索引以從一個容器中獲取對應的資料項。你可以用鍵直接“對映”到值,這就是為什麼叫對映型別(“mappingtype”) 的原因。對映型別通常被稱做雜湊表,是因為字典物件就是雜湊型別的。字典是Python中最強大的資料型別之一。

字典常見的操作有:字典建立、字典賦值、字典中值的訪問、字典更新、字典元素刪除等操作。

集合

集合最早出現在Python2.3版本中,透過集合模組來建立,並透過ImmutableSet類和Set類進行訪問。

集合有兩種不同的型別,可變集合(set)和不可變集合(frozenset)。可變集合,你可以新增和刪除元素,對不可變集合則不允許這樣做。請注意,可變集合不是可雜湊的,因此既不能用做字典的鍵也不能做其他集合中的元素。不可變集合則正好相反,即,他們有雜湊值,能被用做字典的鍵或是作為集合中的一個成員。集合物件是一組無序排列的可雜湊的值。

集合支援用in和not in運算子檢查成員,由len()內建函式得到集合的基數(大小) ,用for迴圈迭代集合的成員。但是因為集合本身是無序的,你不可以為集合建立索引或執行切片(slice) 操作,也沒有鍵可用來獲取集合中元素的值。更多學習內容,請點選

(推薦作業系統:windows7系統、Python 3.9.1,DELL G3電腦。)

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/4692/viewspace-2835907/,如需轉載,請註明出處,否則將追究法律責任。

相關文章