首頁  >  文章  >  後端開發  >  五大Python基礎資料類型

五大Python基礎資料類型

零到壹度
零到壹度原創
2018-03-31 17:12:532881瀏覽

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

五大標準資料型別

#記憶體儲存的資料可以有多種型別。

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

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

  • Numbers(數字)

  • String(字串)

  • List(列表)

  • Tuple(元群組)

  • Dictionary(字典)

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

1. 數字(Numbers)

#數字資料型別用於儲存數值。

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

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

var1 = 1
var2 = 2

del語句刪除一些物件的引用,其語法為:

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

透過使用del語句可以刪除單一或多個物件的引用。例如:

del var1
del 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. 長(長整數)
  hon接C語言不同,Pyt位元的長整數沒有指定位元沒有限制長整數數值的大小,但實際上由於機器記憶體有限,長整數數值不可能無限大。
  注意,自從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())                    #输出所有值

以上是五大Python基礎資料類型的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn