Python基礎教程 python的資料型別

2021-09-27 01:18:56 字數 3084 閱讀 8773

python基礎之五大標準資料型別

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

五大標準資料型別

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

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

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

numbers(數字)

string(字串)

list(列表)

tuple(元組)

dictionary(字典)

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

0x00. 數字(numbers)

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

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

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

12var1 = 1var2 = 2
del語句刪除一些物件的引用,其語法是:

1del var1[,var2[,var3[....,varn]]]]
通過使用del語句可以刪除單個或多個物件的引用。例如:

12del var1del var1, var2
四種不同的數字型別:

a. int(整型)

在32位機器上,整數的位數為32位,取值範圍為-231~231-1,即-2147483648~2147483647

在64位系統上,整數的位數為64位,取值範圍為-263~263-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)之間的數,快取在小整型物件池中。

0x01. 字串(string)

字串或串(string)是由數字、字母、下劃線組成的一串字元。

它是程式語言中表示文字的資料型別。

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

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

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

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

比如:

1s = '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) #輸出連線的字串
0x02. 列表(list)list(列表) 是 python 中使用最頻繁的資料型別。

列表可以完成大多數集合類的資料結構實現。它支援字元,數字,字串甚至可以包含列表(所謂巢狀)。

操作例項:

0x03. 元祖(tuple)

元組是另乙個資料型別,類似於list(列表)。

元組用"()"標識。內部元素用逗號隔開。但是元組不能二次賦值,相當於唯讀列表。

操作例項與列表相似

0x04. 字典(dictionary)

字典(dictionary)是除列表以外python之中最靈活的內建資料結構型別。列表是有序的物件結合,字典是無序的物件集合。

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

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

操作例項:

dict = {}dict['one'] = 'this is one'dict[2] = 'this is two'tinydict =  print(dict['one']) #輸出鍵為'one'的值print(dict[2]) #輸出鍵為2的值print(tinydict) #輸出完整的字典print(tinydict.keys()) #輸出所有鍵print(tinydict.values()) #輸出所有值

python基礎教程

乙個簡單的客戶機 import socket s socket.socket host socket.gethostname port 1234 s.bind host,port s.listen 5 while true c,addr s.accept print got connection f...

Python基礎教程

本教程不包括python的安裝,ide採用spyder pytho2.7 1.print pow 2,3 8 print 2 3 8這裡pow函式表示乘方,與 功能相同。2.abs 10 10abs函式用來求乙個數的絕對值。3.round 0.6 1.0 round 0.4 0.0round函式將浮...

Python 基礎教程

python由guido van rossum於1989年底發明,第乙個公開發行版發行於1991年。像perl語言一樣,python 源 同樣遵循 gpl gnu general public license 協議。本教程主要針對python 2.x版本的學習,如果你使用的是python 3.x版本...