Python學習筆記(3) 資料型別

2021-09-19 03:48:42 字數 1074 閱讀 8717

因為筆者從事其他語言開發,所以只做一些比較和不同的地方的記錄。

整數和浮點數在計算機內部儲存的方式是不同的,整數運算永遠是精確的(除法難道也是精確的?是的!),而浮點數運算則可能會有四捨五入的誤差。

字串可以用雙引號",也可以用單引號』括起來。

在python中,可以直接用true、false表示布林值(請注意大小寫)。

空值是python裡乙個特殊的值,用none表示。none不能理解為0,因為0是有意義的,而none是乙個特殊的空值。

dict

dict用花括號括起來,對應的是map,存放鍵值對。

請務必注意,dict內部存放的順序和key放入的順序是沒有關係的。

和list比較,dict有以下幾個特點:

查詢和插入的速度極快,不會隨著key的增加而變慢;

需要占用大量的記憶體,記憶體浪費多。

而list相反:

查詢和插入的時間隨著元素的增加而增加;

占用空間小,浪費記憶體很少。

所以,dict是用空間來換取時間的一種方法。

dict可以用在需要高速查詢的很多地方,在python**中幾乎無處不在,正確使用dict非常重要,需要牢記的第一條就是dict的key必須是不可變物件。

這是因為dict根據key來計算value的儲存位置,如果每次計算相同的key得出的結果不同,那dict內部就完全混亂了。這個通過key計算位置的演算法稱為雜湊演算法(hash)。

要保證hash的正確性,作為key的物件就不能變。在python中,字串、整數等都是不可變的,因此,可以放心地作為key。而list是可變的,就不能作為key.

setset和dict類似,也是一組key的集合,但不儲存value。由於key不能重複,所以,在set中,沒有重複的key。要建立乙個set,需要提供乙個list作為輸入集合.。

set可以看成數學意義上的無序和無重複元素的集合,因此,兩個set可以做數學意義上的交集、並集等操作。

set和dict的唯一區別僅在於沒有儲存對應的value,但是,set的原理和dict一樣,所以,同樣不可以放入可變物件,因為無法判斷兩個可變物件是否相等,也就無法保證set內部「不會有重複元素」。

Python 3 學習筆記之 資料型別

型別 運算子 a hello b seniusen a b 字串拼接 helloseniusen a 2 重複輸出字串 hellohello 字串格式化輸出 print repr 3 rjust 2 repr 16 rjust 3 靠右對齊,ljust center 靠左 居中對齊 print 12...

Python 3 學習筆記之 資料型別

型別 運算子 a hello b seniusen a b 字串拼接 helloseniusen a 2 重複輸出字串 hellohello 字串格式化輸出 print repr 3 rjust 2 repr 16 rjust 3 靠右對齊,ljust center 靠左 居中對齊 print 12...

學習筆記 Python 資料型別

資料型別 classinfo 基礎資料型別 資料型別 備註示例 number 數字 python支援四種不同的數字型別 int 有符號整型 long 長整型 也可以代表八進位制和十六進製制 float 浮點型 complex 複數 a 1string 字串 使用引號,包括str和basestring...