當前位置:成語大全網 - 新華字典 - python3種數據類型

python3種數據類型

Python3 中有六個標準的數據類型:Number(數字) + String(字符串) + List(列表) + Tuple(元組) + Sets(集合) + Dictionary(字典)。

Number(數字)

數字類型是顧名思義是用來存儲數值的,需要記住的是,有點和Java的字符串味道差不多,如果改變了數字數據類型的值,將重新分配內存空間。

可以使用del語句刪除壹些數字對象的引用:del var1[,var2[,var3[....,varN]]]]。

Python 支持三種不同的數值類型:

1.整型(Int) - 通常被稱為是整型或整數,是正或負整數,不帶小數點。Python3 整型是沒有限制大小的,可以當作 Long 類型使用,所以 Python3 沒有 Python2 的 Long 類型。

2.浮點型(float) - 浮點型由整數部分與小數部分組成,浮點型也可以使用科學計數法表示(2.5e2 = 2.5 x 102 = 250)

3.復數( (complex)) - 復數由實數部分和虛數部分構成,可以用a + bj,或者complex(a,b)表示, 復數的實部a和虛部b都是浮點型。

數字類型轉換

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的運算比別的大多數常見語言都更加豐富,此外,還有大量豐富的方法,提供更高效的開發。

String(字符串)

創建字符串

創建字符串可以使用單引號、雙引號、三單引號和三雙引號,其中三引號可以多行定義字符串,有點類似ES6中的反引號。

Python 不支持單字符類型,單字符也在Python也是作為壹個字符串使用。

訪問字符串中的值

和ES壹樣,可以使用方括號來截圖字符串,例子如下:

val_str='yelloxing'

print(val_str[0]) #y

print(val_str[1:3]) #el

print(val_str[:3]) #yel

print(val_str[:5]) #yello

字符串運算符

除了上面已經說明的方括號,還有壹些別的字符串運算,具體查看文檔。

字符串格式化

temp="我叫 %s 今年 %d 歲!" % ('心葉', 7)

print('['+temp+']') #[我叫 心葉 今年 7 歲!]

如上所示,字符串支持格式化,當然,出來上面用到的%s和%d以外,還有壹些別的,具體看文檔;是不是感覺有點C語言的味道。

額外說明

所有的字符串都是Unicode字符串(針對python3),有很多有用的方法,真的很有ES和C結合體的味道。

List(列表)

序列是Python中最基本的數據結構。序列中的每個元素都分配壹個數字 - 它的位置,或索引,第壹個索引是0,第二個索引是1,依此類推。

Python有6個序列的內置類型(列表、元組、字符串、Unicode字符串、buffer對象和xrange對象)。

列表其實類似數組,具體的壹些操作就很像字符串(類似ES中數組和字符串的關系)。

常見運算

下面用壹個例子來展示壹些常見的運算:

val_arr=['Made','in','China']

del val_arr[1]

print(val_arr) #['Made', 'China']

print(len(val_arr)) #2

val_newarr=val_arr+[':information']

print(val_newarr) #['Made', 'China', ':information']

val_arr=val_arr*2

print(val_arr) #['Made', 'China', 'Made', 'China']

print('in' in val_arr) #False

print('Made' in val_arr) #True

for row in val_newarr:

print(row, end=" - ") #Made - China - :information -

print(val_newarr[-1]) #:information

print(val_newarr[1:]) #['China', ':information']

再來看壹個有用的例子:

cols=3

rows=2

list_2d = [[0 for col in range(cols)] for row in range(rows)]

print(list_2d) #[[0, 0, 0], [0, 0, 0]]

嵌套列表

使用嵌套列表即在列表裏創建其它列表,例如:

loop_arr=['yelloxing','心葉']

result_arr=[loop_arr,'同級別']

print(result_arr) #[['yelloxing', '心葉'], '同級別']

列表的嵌套就很靈活,此外隨便提壹下:和前面說的壹樣,也有很多方法提供高效的開發。

Tuple(元組)

元組與列表類似,不同之處在於元組的元素不能修改,元組使用小括號,列表使用方括號。

創建

元組中只包含壹個元素時,需要在元素後面添加逗號,否則括號會被當作運算符使用

tup1 = ('Google', 'Runoob', 1997, 2000);

tup2 = (1, 2, 3, 4, 5 );

tup3 = "a", "b", "c", "d";

print(tup1) #('Google', 'Runoob', 1997, 2000)

print(tup2) #(1, 2, 3, 4, 5)

print(tup3) #('a', 'b', 'c', 'd')

基本操作

和列表的操作很相似,下面說壹個幾天特殊的地方:

1.del可以刪除某個元組,不過不可以刪除元組的某個條目。

2.不可以修改,或許元組會更快,感覺的,沒有實際測試。

3.由於元組不可以修改,雖然同樣有壹些方法,不過和修改相關的方法就沒有了。

Sets(集合)

回想壹下數學裏面的集合,合、交、差、補等運算是不是壹下子回想起來了,這裏的集合也有這些方法。

和Java的集合類似,壹個無序不重復元素集(與列表和元組不同,集合是無序的,也無法通過數字進行索引)。

更具體的說明,如果必要會在單獨說明。

Dictionary(字典)

字典是另壹種可變容器模型,且可存儲任意類型對象。

字典的每個鍵值(key=>value)對用冒號(:)分割,每個對之間用逗號(,)分割,整個字典包括在花括號({})中,鍵必須是唯壹的,但值則不必。

和ES中的JSON的差不多,操作也很像,不過區別也很大,內置方法很多,具體還是壹樣,看文檔去。

刪除字典元素

可以用del刪除壹個條目或字典,也可以用clear()方法清空字典(比如現在有字段dict,就是:dict.clear())。