數據類型定義變量的類型。因爲全部內容都是Python中的對象,所以數據類型其實是類。變量是類的實例。html
在任何編程語言中,能夠對不一樣類型的數據類型執行不一樣的操做,其中某些數據類型與其餘數據類型相同,而某些數據類型很是特定於該特定數據類型。java
Python默認具備如下內置數據類型。python
Category | Data types / Class names |
---|---|
Text/String | str |
Numeric | int, float, complex |
List | list, tuple, range |
Map | dict |
Set | set, frozenset |
Boolean | bool |
Binary | bytes, bytearray, memoryview |
字符串能夠定義爲用單引號,雙引號或三引號引發來的字符序列。三引號(「」」)可用於編寫多行字符串。git
str數據類型編程
x = 'A' y = "B" z = """ C """ print(x) # prints A print(y) # prints B print(z) # prints C print(x + y) # prints AB - concatenation print(x*2) # prints AA - repeatition operator name = str('john') # Constructor sumOfItems = str(100) # type conversion from int to string
這些是數字類型。它們是在將數字分配給變量時建立的。數組
數值類型數據結構
x = 2 # int x = int(2) # int x = 2.5 # float x = float(2.5) # float x = 100+3j # complex x = complex(100+3j) # complex
在Python中,list是使用方括號()和逗號()編寫的一些數據的有序序列。列表能夠包含不一樣類型的數據。[ ],dom
Slice [ :]運算符可用於訪問列表中的數據。編程語言
所述並置運算符(+)和重複操做符(*)的工做原理相似的str數據類型。分佈式
甲範圍能夠被認爲是sublist,一個的取出list使用切片運算符。
一個元組是相似list的-除了tuple是一個只讀的數據結構,咱們不能修改一個元組的項目的規模和價值。另外,項目用括號括起來(, )。
清單類型
randomList = [1, "one", 2, "two"] print (randomList); # prints [1, 'one', 2, 'two'] print (randomList + randomList); # prints [1, 'one', 2, 'two', 1, 'one', 2, 'two'] print (randomList * 2); # prints [1, 'one', 2, 'two', 1, 'one', 2, 'two'] alphabets = ["a", "b", "c", "d", "e", "f", "g", "h"] print (alphabets[3:]); # range - prints ['d', 'e', 'f', 'g', 'h'] print (alphabets[0:2]); # range - prints ['a', 'b'] randomTuple = (1, "one", 2, "two") print (randomTuple[0:2]); # range - prints (1, 'one') randomTuple[0] = 0 # TypeError: 'tuple' object does not support item assignment
字典或字典是項的鍵值對的有序集合。鍵能夠保存任何原始數據類型,而值是任意的Python對象。
字典中的條目用逗號分隔並括在花括號中{, }。
字典類型
charsMap = {1:'a', 2:'b', 3:'c', 4:'d'}; print (charsMap); # prints {1: 'a', 2: 'b', 3: 'c', 4: 'd'} print("1st entry is " + charsMap[1]); # prints 1st entry is a print (charsMap.keys()); # prints dict_keys([1, 2, 3, 4]) print (charsMap.values()); # prints dict_values(['a', 'b', 'c', 'd'])
python中的set能夠定義爲花括號中包含的各類項目的無序集合{, }。
集合中的元素不能重複。python set的元素必須是不可變的。
不一樣於list,沒有indexset元素。這意味着咱們只能循環訪問的元素set。
該凍結套是正常集的不變形式。這意味着咱們沒法刪除任何項目或將其添加到凍結集中。
設置類型
digits = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9} print(digits) # prints {0, 1, 2, 3, 4, 5, 6, 7, 8, 9} print(type(digits)) # prints <class 'set'> print("looping through the set elements ... ") for i in digits: print(i) # prints 0 1 2 3 4 5 6 7 8 9 in new lines digits.remove(0) # allowed in normal set print(digits) # {1, 2, 3, 4, 5, 6, 7, 8, 9} frozenSetOfDigits = frozenset({0, 1, 2, 3, 4, 5, 6, 7, 8, 9}) frozenSetOfDigits.remove(0) # AttributeError: 'frozenset' object has no attribute 'remove'
布爾值是兩個恆定的對象False和True。它們用於表示真值。在數字上下文中,它們的行爲分別相似於整數0和1。
x = True y = False print(x) #True print(y) #False print(bool(1)) #True print(bool(0)) #False
bytes和bytearray用於處理二進制數據。所述memoryview使用緩衝協議來訪問其餘二進制對象的存儲器,而無需進行復印。
字節對象是單個字節的不可變序列。僅在處理與ASCII兼容的數據時,才應使用它們。
bytes文字的語法與文字的語法相同string,只是'b'添加了前綴。
bytearray對象老是經過調用構造函數來建立的bytearray()。這些是可變的對象。
字節,內存視圖類型
x = b'char_data' x = b"char_data" y = bytearray(5) z = memoryview(bytes(5)) print(x) # b'char_data' print(y) # bytearray(b'\x00\x00\x00\x00\x00') print(z) # <memory at 0x014CE328>
該type()函數可用於獲取任何對象的數據類型。
獲取類型
x = 5 print(type(x)) # <class 'int'> y = 'howtodoinjava.com' print(type(y)) # <class 'str'>
將您的問題留在個人評論中。
學習愉快!
參考:Python文檔
做者:分佈式編程
出處:https://zthinker.com/
若是你喜歡本文,請長按二維碼,關注 分佈式編程
.