五大Python基礎資料類型

來源:互聯網
上載者:User
學習一門語言,往往都是從Hello World開始。 但是筆者認為,在一個黑框框中輸出一個“你好,世界”並沒有什麼了不起,要看透事物的本質,熟悉一門語言,就要瞭解其底層,就是我們常常說的基礎。本篇從python中的變數類型開始。

五大標準資料類型

在記憶體中儲存的資料可以有多種類型。

例如, 一個人的名字可以用字元來儲存, 年齡可以用數字來儲存, 愛好可以用集合來儲存等等。

Python有五個標準的資料類型:

  • Numbers(數字)

  • String(字串)

  • List(列表)

  • Tuple(元組)

  • Dictionary(字典)

其中屬於集合類型的資料類型有 列表、元組及字典

1. 數字(Numbers)

數字資料類型用於儲存數值。

他們是不可改變的資料類型,這意味著改變數字資料類型會分配一個新的對象。

當你指定一個值時,Number對象就會被建立:

var1 = 1var2 = 2

del語句刪除一些對象的引用,其文法是:

del var1[,var2[,var3[....,varN]]]]

通過使用del語句可以刪除單個或多個對象的引用。例如:

del var1del var1, var2

四種不同的數字類型

  • int(有符號整型)

  • long(長整型[也可以代表八進位和十六進位])

  • float(浮點型)

  • complex(複數)

a. int(整型)

  在32位機器上,整數的位元為32位,取值範圍為-2**31~2**31-1,即-2147483648~2147483647
  在64位系統上,整數的位元為64位,取值範圍為-2**63~2**63-1,即-9223372036854775808~9223372036854775807

b. long(長整型)
  跟C語言不同,Python的長整數沒有指定位寬,即:Python沒有限制長整數數值的大小,但實際上由於機器記憶體有限,長整數數值不可能無限大。
  注意,自從Python2.2起,如果整數發生溢出,Python會自動將整數資料轉換為長整數,所以如今在長整數資料後面不加字母L也不會導致嚴重後果了。

c. float(浮點型)

  浮點數用來處理實數,即帶有小數的數字。類似於C語言中的double類型,佔8個位元組(64位),其中52位表示底,11位表示指數,剩下的一位表示符號。
d. complex(複數)
  複數由實數部分和虛數部分組成,一般形式為x+yj,其中的x是複數的實數部分,y是複數的虛數部分,這裡的x和y都是實數。

註:Python中存在小數字池:-5 ~ 257

小整數對象——小整型對象池

在實際編程中,數值比較小的整數,比如1,2,29等,可能會非常頻繁的出現。而在python中,所有的對象都存在於系統堆上。想想?如果某個小整數出現的次數非常多,那麼Python將會出現大量的malloc/free操作,這樣大大降低了運行效率,而且會造成大量的記憶體片段,嚴重影響Python的整體效能。

在Python2.5乃至3.3中,將小整數位於[-5,257)之間的數,緩衝在小整型對象池中。

2. 字串(String)

字串或串(String)是由數字、字母、底線組成的一串字元。

它是程式設計語言中表示文本的資料類型。

Python的字串列表有2種取值順序:

  • 從左至右索引預設0開始的,最大範圍是字串長度少1

  • 從右至左索引預設-1開始的,最大範圍是字串開頭

如果你要實現從字串中擷取一段子字串的話,可以使用變數 [頭下標:尾下標],就可以截取相應的字串,其中下標是從 0 開始算起,可以是正數或負數,下標可以為空白表示取到頭或尾。

比如:

s = 'i love python'

s[2:6]的結果是love。(顧頭不顧尾,或左閉右開)

操作執行個體:

str = 'Hello World' print(str)                 #輸出完整字串print(str[0])              #輸出字串中的第一個字元print(str[2:5])            #輸出字串中第三個至第五個之間的字元print(str[2:])             #輸出從第三個開始到最後的字串print(str*2)               #輸出字串兩次print('say: ' + str)       #輸出串連的字串

3. 列表(List)

List(列表) 是 Python 中使用最頻繁的資料類型。

列表可以完成大多數集合類的資料結構實現。List裡面的資料類型也可以不同,它支援字元,數字,字串甚至可以包含列表(所謂嵌套)。

操作執行個體:  

list =  ['apple', 'jack', 798, 2.22, 36]otherlist = [123, 'xiaohong'] print(list)                             #輸出完整列表print(list[0])                          #輸出資料行表第一個元素print(list[1:3])                        #輸出資料行表第二個至第三個元素print(list[2:])                         #輸出資料行表第三個開始至末尾的所有元素print(otherlist * 2)                    #輸出資料行表兩次print(list + otherlist)                 #輸出拼接列表

4. 元組(Tuple)

元組用"()"標識。

內部元素用逗號隔開。但是元組一旦初始化,就不能修改,相當於唯讀列表。

只有1個元素的tuple定義時必須加一個逗號 , ,來消除歧義(否則會認為t只是一個數):

>>> t = (1,)>>> t(1,)

操作執行個體與列表相似

5. 字典(Dictionary)

字典(dictionary)是除列表以外Python之中最靈活的內建資料結構類型。列表是有序的對象結合,字典是無序的對象集合。

兩者之間的區別在於:字典當中的元素是通過鍵來存取的,而不是通過位移存取。

字典用"{ }"標識。字典由索引(key)和它對應的值value組成。

操作執行個體:

dict = {}dict['one'] = 'This is one'dict[2] = 'This is two'tinydict = {'name':'john','code':5762,'dept':'sales'} print(dict['one'])                          #輸出鍵為'one'的值print(dict[2])                              #輸出鍵為2的值print(tinydict)                             #輸出完整的字典print(tinydict.keys())                      #輸出所有鍵print(tinydict.values())                    #輸出所有值
相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.