python中的六種數(shù)據(jù)類型介紹+演示
1.Python中有幾種數(shù)據(jù)類型?
(1)數(shù)字(其中包含整數(shù)int,浮點(diǎn)數(shù)float,復(fù)數(shù)a+bj,布爾True和Flase)
(2)字符串
(3)列表
(4)元組
(5)字典
(6)集合
2.這些數(shù)據(jù)類型的字面量(寫下來的確定的值)如何表示?
(1)數(shù)字-整數(shù)如:-15,8,44等
數(shù)字-浮點(diǎn)數(shù)如:3.1415,-8.888等
數(shù)字-復(fù)數(shù):4+7j , -1+4j等(復(fù)數(shù)4+7j中4是實(shí)部,7是虛部)
數(shù)字-布爾:True和False ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 注:使用時首字母要大寫
(2)字符串如:"hello world","你好","1+1=2"等 ? ? 注:必須要有雙引號括起來
(3)列表:[1 , -3.14 , 3+5j , "你好" ,True] ,用中括號[]括起來,每個元素間用逗號隔開,是一個有序數(shù)據(jù)集合,一個列表中可以存放不同數(shù)據(jù)類型的對象,可以存放所有六種數(shù)據(jù)類型對象,通過下標(biāo)讀取或修改元素值
(4)元組:(1 , -3.14 , 3+5j , "你好" ,True),用小括號()括起來,是一個有序數(shù)據(jù)集合,創(chuàng)建后元組中的元素不可修改,不可添加,不可刪除,只能通過下標(biāo)讀取元素值,相當(dāng)于一種只讀的列表,可以存放所有六種數(shù)據(jù)類型對象
(5)字典:{"abc":10 , "你好":"hello" , "復(fù)數(shù)":4+7j},用大括號{}括起來,是一個無序數(shù)據(jù)集合,其中元素有兩部分組成,即“鍵”和“值”,鍵用字符串表示,而值可以是所有六種數(shù)據(jù)類型的對象,通過鍵來讀取元素值,我的理解是鍵相當(dāng)于變量名
(6)集合:{1 , -3.14 , 3+5j , "你好" ,True , (1,2,3)},用大括號{}括起來,是一個無序數(shù)據(jù)集合,元素必須是固定不變的值,可以存放數(shù)字,字符串,元組的字面值,不能存放列表,字典,集合。
3.通過print()函數(shù)實(shí)操演示


5.為什么用print輸出集合時,輸出的元素的順序和定義時的順序不同?
列:
print({-1, 3.1415, 4 + 8j, False, "你好", (1, 2, 3)})
輸出:
{False, 3.1415, (1, 2, 3), (4+8j), '你好', -1}
原因:Python中的集合是通過哈希(hash)表實(shí)現(xiàn)的,因此元素的排列順序是根據(jù)它們在哈希表中的哈希值而定的。哈希值是根據(jù)元素的內(nèi)容計算出來的一個數(shù)字,這個數(shù)字會被用來決定元素在哈希表中的位置。雖然哈希表可以提高元素查找的速度,但是這也意味著元素的順序是不確定的,因?yàn)楣1碇性氐奈恢檬怯晒V禌Q定的,而不是插入的順序。所以,輸出集合時元素的順序是不可預(yù)測的。