BEGIN:
python3數據類型主要分為以下六大類:
- Numbers(數字)
- String(字符串)
- List(列表)
- Tuple(元組)
- Dictionary(字典)
- Set(集合)
Python3 的六個標准數據類型中:
不可變數據(3 個):Number(數字)、String(字符串)、Tuple(元組);
可變數據(3 個):List(列表)、Dictionary(字典)、Set(集合)。
1、數字類型:
python3的數字類型包括:
- int(長整型)
- float(浮點型)
- complex(復數)
- bool(布爾型)
注意:在Python 3里,只有一種整數類型 int,表示為長整型,沒有 python2 中的 Long。在 Python2 中是沒有布爾型的,它用數字 0 表示 False,用 1 表示 True。到 Python3 中,把 True 和 False 定義成關鍵字了,但它們的值還是 1 和 0,它們可以和數字相加。
數字數據類型用於存儲數值,他們是不可改變的數據類型,若改變數字數據類型會分配一個新的對象;當指定一個值時,Number 對象就會被創建,如:
a = 1
b = 2
創建了兩個實例對象,值分別為1和2,當改變a的值為3時,會為變量a重新分配對象。使用del語句可以刪除一些對象的引用,如:
2、字符串類型:
python的字符串或串(String)是由數字、字母、下划線組成的一串字符,如:
字符串取值:python字符串(列表)有2種取值順序,如(下圖左):
- 從左到右索引默認0開始的,最大范圍是字符串長度少1
- 從右到左索引默認-1開始的,最大范圍是字符串開頭
python字符串不能通過取下標的方式修改指定位置的字符,如(下圖右)::
0 1 2 3 4 5 6
a b c d e f g
-7 -6 -5 -4 -3 -2 -1
字符串截取:s = a[i:j],其中i,j可以不寫,表示從位置i開始到位置j結束,其中截取的字符串不包括位置j,如:
字符串連接用‘+’號,如:
字符串重復用'*‘號,如:
3、列表類型:
python的列表可以完成大多數集合類的數據結構實現。它支持字符,數字,字符串甚至可以包含列表(即嵌套或者叫多維列表,可以用來表示多維數組)。列表用 [ ] 標識,是 python 最通用的復合數據類型,如:
列表取值(同字符串取值),如(下左),修改指定位置的元素值,如(下右):
列表截取(同字符串取值),如(下圖左);此外,列表的截取還可以添加第三個參數步長,即[i:j:k]截取從位置i到位置j(包括i不包括j)步長為k,如(下圖中);該方法可以用來對列表進行逆序變換,如(下圖右):
'a' 'b' 'c' 'd' 'e'
0 1 2 3 4
c[1:4:2] *|___________*______|
c[0:5:3] *|__________________*______|
c[0:5:1] *|______*_____*_____*______|*
列表連接(同字符串連接)用’+‘,如:
列表重復(同字符串重復)用’*‘, 如:
多維數組初始化方案:
[...[[[0 for i in range(x)] for j in range(y)] for k in range(z)]...]
如,二維數組初始化:
4、元組類型:
python的元組類似於list列表,元組用 () 標識。內部元素用逗號隔開。但是元組不能二次賦值,相當於只讀列表,如:
元組的取值、截取、連接、重復與列表一樣,如:
雖然tuple的元素不可改變,但它可以包含可變的對象,比如list列表。
構造包含 0 個或 1 個元素的元組比較特殊,所以有一些額外的語法規則,對於空元組直接用小括號或者tuple()表示,如下圖左;對於1個元素的元組,則需要在元素后面添加逗號,如圖右:
5、字典類型:
字典(dictionary)是除列表以外python之中最靈活的內置數據結構類型;列表是有序的對象集合,字典是無序的對象集合;字典用"{ }"標識;字典由索引(key)和它對應的值value組成,如:
字典取值,字典當中的元素是通過鍵來存取的,而不是通過偏移存取,如:
鍵(key)必須使用不可變類型(數字、字符串、元組);在同一個字典中,鍵(key)必須是唯一的,如:
6、集合類型:
python的集合(set)是由一個或數個形態各異的大小整體組成的,構成集合的事物或對象稱作元素或是成員;基本功能是進行成員關系測試和刪除重復元素;可以使用大括號 { } 或者 set() 函數創建集合,注意:創建一個空集合必須用 set() 而不是 { },因為 { } 是用來創建一個空字典,如:
set()函數只接受一個參數,且改參數類型不為數字類型,
錯誤創建,如:
列表、元組、字典、集合的比較:
列表[ ](list):有序可改變集合,允許重復數據。
元組( )(tuple):有序不可改變集合,允許重復數據。
集合{ }(set):無序無索引(索引為鍵值)集合,無重復數據。
字典{ }(dictionary):無序,可變,有索引集合,無重復數據。
python數據類型轉換:
int(x) :將x轉化為一個整數,向下取整,如:
float(x):將x轉化為一個浮點數
complex(x [,imge]):將x轉化為一個復數,如:
str(x):將x轉化為一個字符串,如:
repr(x):將對象 x 轉換為表達式字符串,如:
eval(x):用來計算在字符串中的有效Python表達式,並返回一個對象,其實就是能計算字符串表達式,並得到結果,如:
tuple(s):將序列s轉化為一個元組,如:
list(s):將序列s轉化為一個列表,如:
set(s):將序列s轉化為可變集合,可用於列表去重,如 :
dict():創建一個字典。
frozenset(s):將s轉換為不可變集合
chr(x):將一個整數轉化為其ASCIIi碼對應的字符,如:
ord(x):將一個字符轉化為一個整數,該整數為x對應的ASCII碼,如:
hex(x):將一個整數轉換為一個十六進制字符串,如:
oct(x):將一個整數轉換為一個八進制字符串
END.