歡迎加入QQ討論群258996829
麥子學(xué)院 頭像
蘋果6袋
6
麥子學(xué)院

Python學(xué)習(xí)之5大標準數(shù)據(jù)類型詳解

發(fā)布時間:2017-09-20 23:16  回復(fù):0  查看:2993   最后回復(fù):2017-09-20 23:16  
學(xué)習(xí)一門語言,往往都是從Hello World 開始。 但是在一個黑框框中輸出一個 你好,世界 并沒有什么了不起,要看透事物的本質(zhì),熟悉一門語言,就要了解其底層,就是我們常常說的基礎(chǔ)。本文將從python 中的變量類型開始,為大家詳細介紹這門語言,同時也希望對想 學(xué)習(xí)python開發(fā)的同學(xué)有所幫助
   五大標準數(shù)據(jù)類型
  在內(nèi)存中存儲的數(shù)據(jù)可以有多種類型。
  例如,  一個人的名字可以用字符來存儲,  年齡可以用數(shù)字來存儲,  愛好可以用集合來存儲等等。
  Python 有五個標準的數(shù)據(jù)類型:
  · Numbers (數(shù)字)
  · String (字符串)
  · List (列表)
  · Tuple (元組)
  · Dictionary (字典)
  其中屬于集合類型的數(shù)據(jù)類型有  列表、元組及字典  。
   0x00. 數(shù)字(Numbers
  數(shù)字數(shù)據(jù)類型用于存儲數(shù)值。
  他們是不可改變的數(shù)據(jù)類型,這意味著改變數(shù)字數(shù)據(jù)類型會分配一個新的對象。
  當(dāng)你指定一個值時,Number 對象就會被創(chuàng)建:
  var1 = 1var2 = 2
  del 語句刪除一些對象的引用,其語法是:
   del var1[,var2[,var3[....,varN]]]]
  通過使用del 語句可以刪除單個或多個對象的引用。例如:
   del var1 del var1, var2
   四種不同的數(shù)字類型:
  · int (有符號整型)
  · long (長整型 [ 也可以代表八進制和十六進制
  · float (浮點型)
  · complex (復(fù)數(shù))
   a. int(整型)
  在32 位機器上,整數(shù)的位數(shù)為 32 位,取值范圍為 -2**31 2**31-1 ,即 -2147483648 2147483647
  在64 位系統(tǒng)上,整數(shù)的位數(shù)為 64 位,取值范圍為 -2**63 2**63-1 ,即 -9223372036854775808 9223372036854775807
  b. long (長整型)
  跟C 語言不同, Python 的長整數(shù)沒有指定位寬,即: Python 沒有限制長整數(shù)數(shù)值的大小,但實際上由于機器內(nèi)存有限,長整數(shù)數(shù)值不可能無限大。
  注意,自從Python2.2 起,如果整數(shù)發(fā)生溢出, Python 會自動將整數(shù)數(shù)據(jù)轉(zhuǎn)換為長整數(shù),所以如今在長整數(shù)數(shù)據(jù)后面不加字母 L 也不會導(dǎo)致嚴重后果了。
   c. float(浮點型)
  浮點數(shù)用來處理實數(shù),即帶有小數(shù)的數(shù)字。類似于C 語言中的 double 類型,占 8 個字節(jié)( 64 位),其中 52 位表示底, 11 位表示指數(shù),剩下的一位表示符號。
  d. complex (復(fù)數(shù))
  復(fù)數(shù)由實數(shù)部分和虛數(shù)部分組成,一般形式為x yj ,其中的 x 是復(fù)數(shù)的實數(shù)部分, y 是復(fù)數(shù)的虛數(shù)部分,這里的 x y 都是實數(shù)。
  注:Python 中存在小數(shù)字池: -5  ~  257
   小整數(shù)對象——小整型對象池
  在實際編程中,數(shù)值比較小的整數(shù),比如1,2,29 等,可能會非常頻繁的出現(xiàn)。而在 python 中,所有的對象都存在于系統(tǒng)堆上。想想?如果某個小整數(shù)出現(xiàn)的次數(shù)非常多,那么 Python 將會出現(xiàn)大量的 malloc/free 操作,這樣大大降低了運行效率,而且會造成大量的內(nèi)存碎片,嚴重影響 Python 的整體性能。
  在Python2.5 乃至 3.3 中,將小整數(shù)位于 [-5,257) 之間的數(shù),緩存在小整型對象池中。
   0x01. 字符串(String
  字符串或串(String) 是由數(shù)字、字母、下劃線組成的一串字符。
  它是編程語言中表示文本的數(shù)據(jù)類型。
  Python 的字串列表有 2 種取值順序 :
  ·  從左到右索引默認 0 開始的,最大范圍是字符串長度少 1
  ·  從右到左索引默認 -1 開始的,最大范圍是字符串開頭
  如果你要實現(xiàn)從字符串中獲取一段子字符串的話,可以使用變量  [頭下標:尾下標  ,就可以截取相應(yīng)的字符串,其中下標是從 0  開始算起,可以是正數(shù)或負數(shù),下標可以為空表示取到頭或尾。
  比如:
  s = 'i love python'
  s[2:6] 的結(jié)果是 love 。(顧頭不顧尾,或左閉右開)
  操作實例:
  str = 'Hello World'
print(str)                 # 輸出完整字符串
print(str[0])              # 輸出字符串中的第一個字符
print(str[2:5])            # 輸出字符串中第三個至第五個之間的字符
print(str[2:])             # 輸出從第三個開始到最后的字符串
print(str*2)               # 輸出字符串兩次 print('say: ' + str)       # 輸出連接的字符串
   0x02. 列表(List
  List (列表) 是  Python  中使用最頻繁的數(shù)據(jù)類型。
  列表可以完成大多數(shù)集合類的數(shù)據(jù)結(jié)構(gòu)實現(xiàn)。它支持字符,數(shù)字,字符串甚至可以包含列表(所謂嵌套)。
  操作實例:
   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)                 # 輸出拼接列表
   0x03. 元祖(Tuple
  元組是另一個數(shù)據(jù)類型,類似于List (列表)。
  元組用"()" 標識。內(nèi)部元素用逗號隔開。但是元組不能二次賦值,相當(dāng)于只讀列表。
  操作實例與列表相似
   0x04. 字典(Dictionary
  字典(dictionary) 是除列表以外 Python 之中最靈活的內(nèi)置數(shù)據(jù)結(jié)構(gòu)類型。列表是有序的對象結(jié)合,字典是無序的對象集合。
  兩者之間的區(qū)別在于:字典當(dāng)中的元素是通過鍵來存取的,而不是通過偏移存取。
  字典用"{ }" 標識。字典由索引 (key) 和它對應(yīng)的值 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())                    # 輸出所有值
來源:博客園
您還未登錄,請先登錄

熱門帖子

最新帖子

?