python支援內建的資料類型,主要有numbers,strings,lists,dictionaris,tuples,files.這些資料類型普遍而強大。
資料類型一般與運算子結合起來講,一種資料類型要考慮它的大小和精度,變數的聲明及初始化;運算子要考慮優先順序與結合性、類型轉換以及精度丟失。變數名為字母數字底線,數字不打頭。所有函數及外部變數的定義均在__main__()函數內
關於資料類型的幾點說明 在python中不需要事先聲明變數,只要在使用的時候賦值即可(基於python運行時動態類型模型),注意變數與值和對象間是否是參考關聯性。
1、numbers
numbers主要有整型(Integer)、浮點型(doubles)、八進位十六進位以及複數(complex numbers)。
python沒有對實數的大小做限制,只要你記憶體夠用。支援多種運算操作及內建方法,算術運算(+-*/ **),邏輯運算(and ,or ,not),關係運算(> >= <> != ==....),位元運算(| ^ & >> <<)。
其中邏輯運算子有string參與時應注意:and,當左為真,取右側值;否則取左側。or,均為真時取左側值;否則取真值;not,即取反。
類型轉換,和c一樣一般是朝高精度方向轉換(只要a+bj的形式參與,也要算進去)。print語句會自動省掉多餘精度。
內建函數模組 oct(number) hex(number) 十進位number轉為相應進位。eval('string'),將string表示的數轉為 十進位。int('',8|10|16),type(),id()
其他數字工具 (import ....)math包等。
2、strings
字元的集合,儲存並代表基於文本的資訊。string 同tuple一樣屬於單值不可改變的類型。換行的串可以用兩種方式:/n/ """ """";運算可以有索引和切片。其他類型轉為string:str() ` ` repr()
3、lists
列表[ ]是有序可以單值改變的數實值型別。每個值可以不相同,+運算子保證兩側類型一致。運算同樣可以有索引和切片。
尾部寫上逗號是避免輸出換行。
方法主要有:insert append remove index sort reverse count del
其他方法,filter返回y值為真的x值; map影射y值; reduce累計運算。
4、tuple
有序不可單值改變的序列。打包解包。
5、dictionary
無序可單值改變的類型。索引值是任何不可單值改變的類型。.items()返回一對值。
重新賦值意味著重建一個對象。單值改變則共同改變。
運算式中不能賦值,list小於string小於tuple。