- Python 3 數據分析與機器學習實戰
- 龍馬高新教育
- 1918字
- 2020-09-25 10:55:23
3.3 Python的基本數據類型

Python 3中有6種標準的數據類型:Number(數字)、String(字符串)、List(列表)、Tuple(元組)、Sets(集合)和Dictionary(字典)。本節將簡要介紹這6種數據類型。
3.3.1 數字
Python數字數據類型用于存儲數值。Python3支持以下4種不同的數值類型。
(1)整型(Int):也稱為整數,包含正整數或負整數,不帶小數點。Python 3整型是沒有限制大小的,可以當作Long類型使用。
(2)浮點型(float):浮點型由整數部分與小數部分組成,浮點型也可以使用科學計數法表示。
(3)復數型(complex):復數由實數部分和虛數部分構成,可以用a + bj,或者complex(a, b)表示,復數的實部a和虛部b都是浮點型。
(4)布爾型(bool): Python 3中,把True和False定義成關鍵字,但它們的值還是1和0。
有時需要對數據內置的類型進行轉換,數據類型的轉換只需要將數據類型作為函數名即可。數字類型轉換函數如下。
(1)int(x) 將x轉換為一個整數。
(2)float(x) 將x轉換為一個浮點數。
(3)complex(x) 將x轉換為一個復數,實數部分為x,虛數部分為0。
(4)complex(x, y) 將x和y轉換為一個復數,實數部分為x,虛數部分為y。x和y是數字表達式。
下面看幾個數字類型的運算。
在Python程序中分別輸入下面的數學運算公式:
5+6 20-3*2 (30-2*5)/6
程序運行結果如下圖所示。

下面使用變量進行基本的運算。
age=20 day_income=150 total_income=age*day_income
程序運行結果如下圖所示。

3.3.2 字符串
Python中的字符串用單引號( ' )或雙引號( " )括起來。創建字符串很簡單,只要為變量分配一個值即可。例如:
str1="Hello Python! "
Python訪問字符串,可以使用方括號([])來截取字符串,基本語法如下:
變量[頭下標:尾下標]
其中下標最小的索引值以0為開始值,-1為從末尾的開始位置。Python中的字符串有兩種索引方式,從左往右以0開始,從右往左以-1開始。例如:
print (str1) # 輸出字符串 print (str1[0:-1]) # 輸出第一個到倒數第二個的所有字符 print (str1[0]) # 輸出字符串第一個字符 print (str1[2:5]) # 輸出從第三個開始到第五個的字符 print (str1[2:]) # 輸出從第三個開始的所有字符 print (str1 * 2) # 輸出字符串兩次
程序運行結果如下圖所示。

Python字符串不能被改變,向一個索引位置賦值,如str1[0] ='h’會產生錯誤。
3.3.3 列表
List(列表)是Python中使用最頻繁的數據類型。列表可以完成大多數集合類的數據結構的實現。列表中元素的類型可以不相同,它支持數字、字符串,甚至可以包含其他列表(嵌套)。
列表是寫在方括號([])里、用逗號分隔開的元素列表。和字符串一樣,列表同樣可以被索引和截取,列表被截取后返回一個包含所需元素的新列表。
列表截取的語法格式如下:
變量[頭下標:尾下標]
索引值的取值和字符串類似,其中下標最小的索引值以0為開始值,以-1為從末尾的開始位置。Python中的字符串有兩種索引方式,從左往右以0開始,從右往左以-1開始。
例如:
list = [ 'abcd',123 , 4.56, 'Python', 78.9 ] print (list) # 輸出完整列表 print (list[0]) # 輸出列表第一個元素 print (list[1:3]) # 從第二個元素開始輸出到第三個元素 print (list[2:]) # 輸出從第三個元素開始的所有元素
程序運行結果如下圖所示。

與Python字符串不同的是,列表中的元素是可以改變的。例如:
a = [1, 2, 3, 4, 5, 6] a[0] = 'a' a[2:3]=['b', 'hello']
程序運行結果如下圖所示。

此外,列表中的元素還可以被刪除。例如:
a[2:4] = []
此時,把原列表中的元素['b', 'hello']刪除,余下的內容如下:
['a', 2, 4, 5, 6]
3.3.4 元組
元組(Tuple)與列表類似,不同之處在于元組的元素不能修改。元組寫在小括號(())里,元素之間用逗號隔開。元組中的元素類型也可以不相同。元組與字符串類似,可以被索引且下標索引從0開始,-1為從末尾開始的位置。元組也可以進行截取。可以把字符串看作一種特殊的元組。
元組中元素的訪問方法和列表類似。例如:
tuple1 =('abcd',123 , 4.56, 'Python', 78.9) print (tuple1) # 輸出完整元組 print (tuple1 [0]) # 輸出元組第一個元素 print (tuple1 [1:3]) # 從第二個元素開始輸出到第三個元素 print (tuple1 [2:]) # 輸出從第三個元素開始的所有元素
程序運行結果如下圖所示。

3.3.5 集合
集合(Set)是一個無序不重復元素的序列。基本功能是進行成員關系測試和刪除重復元素。可以使用大括號( { } )或set() 函數創建集合。注意,創建一個空集合必須用set() 函數而不是大括號( { })。
例如,下面的集合實例:
student = {'Tom', 'Jim', 'Mary', 'Tom', 'Jack', 'Rose'} print(student) a=set('abcdabc') print(a)
程序運行結果如下圖所示。

3.3.6 字典
字典(Dictionary)是Python中另一個非常有用的內置數據類型。前面介紹的列表是有序的對象集合,字典是無序的對象集合。兩者之間的區別在于:字典中的元素是通過鍵來存取的,而不是通過索引值存取的。
字典是一種映射類型,字典用“{ }”標識,它是一個無序的鍵(key) :值(value)對集合。在同一個字典中,鍵(key)必須是唯一的,但是值則不必唯一,值可以取任何數據類型,但鍵必須是不可變的,如字符串、數字或元組。
例如,下面兩個都是字典的定義:
dict1 = {'Alice': '1234', 'Beth': '5678', 'Cecil': 'abcd'} dict2 = {'abc': 123, 98.6: 37 }
如果要訪問字典中的值,則把相應的鍵放入方括號內即可。例如:
print ("dict1['Alice']: ", dict1[' Alice ']) print ("dict2[98.6]: ", dict2[98.6])
程序運行結果如下圖所示。

當需要修改字典時,向字典添加新內容的方法是增加新的鍵/值對,或者修改或者刪除已有鍵/值對。例如:
dict1['Beth'] = 80; dict1['new']= 'Hello'
程序運行結果如下圖所示。
