1. 程式人生 > >Python 資料型別及基本操作

Python 資料型別及基本操作

【概述】

不同的資料,需要定義不同的資料型別。

Python 定義了五個標準型別,用於儲存各種型別的資料:

  1. Numbers(數字)
  2. String(字串)
  3. List(列表)
  4. Tuple(元組)
  5. Dictionary(字典)

【數字】

數字資料型別用於儲存數值,它們是不可改變的資料型別,這意味著改變數字資料型別會分配一個新的物件。

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

var1 = 1
var2 = 10

除建立外,也可以使用 del 語句刪除一些物件的引用:del var1[,var2[,var3[....,varN]]]]

del var
del var_a, var_b

Python支援四種不同的數字型別:

  1. 整型(Int):通常被稱為是整型或整數,是正或負整數,不帶小數點。
  2. 長整型(long integers):無限大小的整數,整數最後是一個大寫或小寫的 L。
  3. 浮點型(floating point real values):浮點型由整數部分與小數部分組成,浮點型也可以使用科學計數法表示(2.5e2 = 2.5 x 10^2 = 250)
  4. 複數(complex numbers) :複數由實數部分和虛數部分構成,可以用 a + bj,或 complex(a,b)表示, 複數的實部 a 和虛部 b 都是浮點型。

例項

int long float complex
10 51924361L 0.0 3.14j
100 -0x19323L 15.20 45.j
-786 0122L -21.9 9.322e-36j
080 0xDEFABCECBDAECBFBAEl 32.3e+18 .876j
-0490 535633629843L -90. -.6545+0J
-0x260 -052318172735L -32.54e100 3e+26J
0x69 -4721885298529L 70.2E-12 4.53e-7j

注:為避免與數字 1 混淆,一般在長整型結尾使用大寫的 L 來顯示長整型。

【字串】

字串是由數字、字母、下劃線組成的一串字元,一般記為:s="a1a2···an"(n>=0),它是程式語言中表示文字的資料型別。

1.訪問

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

  1. 從左到右索引預設0開始的,最大範圍是:字串長度-1
  2. 從右到左索引預設-1開始的,最大範圍是:字串開頭

例如:

如果要從字串中獲取一段子字串的話,可以使用 [頭下標:尾下標] 來擷取相應的字串,獲取的子字串包含頭下標的字元,但不包含尾下標的字元。其中下標是從 0 開始算起,可以是正數或負數,也可以為空,表示取到頭或尾。

例項:

str='Hello World!'

print(str)
print(str[0])
print(str[2:5])
print(str[2:])

2.字串轉義字元

在需要在字元中使用特殊字元時,python 用反斜槓 \ 來轉義字元。

\(在行尾時) 續行符
\\ 反斜槓
\' 單引號
\" 雙引號
\b 退格
\a 響鈴
\e 轉義
\000
\n 換行
\v 縱向製表符
\t 橫向製表符
\r 回車
\f 換頁
\oyy 八進位制數,yy代表的字元,例如:\o12代表換行
\xyy 十六進位制數,yy代表的字元,例如:\x0a代表換行
\other 其它的字元以普通格式輸出

3.三引號的用法

python 中,三引號允許一個字串跨多行,字串中可以包含換行符、製表符以及其他特殊字元,其語法是一對連續的單引號或者雙引號,成對使用。

三引號讓程式設計師從引號和特殊字串的泥潭裡面解脫出來,自始至終保持一小塊字串的格式是所謂的 WYSIWYG(所見即所得)格式的。其典例是,當需要一塊 HTML 或者 SQL 時,這時用字串組合,特殊字串轉義將會非常的繁瑣,使用三引號可以擺脫轉義字元的泥潭。

例如:

str='''Hello
World!'''

print(str)

【列表】

序列是 Python 中使用最頻繁的資料結構,其資料項不需要具有相同的型別,字元,數字,字串、包含列表(即巢狀)均可,使用 [ ] 標識,可以進行索引,切片,加,乘,檢查成員等操作。

建立一個列表,只要把逗號分隔的不同的資料項使用方括號括起來即可。

list1 = ['physics', 'chemistry', 1997, 2000]
list2 = [1, 2, 3, 4, 5 ]
list3 = ["a", "b", "c", "d"]

1.訪問

列表中值的切割也使用:變數 [頭下標:尾下標] 的方式,與字串相同,從左到右索引預設 0 開始,從右到左索引預設 -1 開始,下標可以為空表示取到頭或尾。

2.新增元素

如果想新增列表元素,可以使用 append() 方法來新增。

list = ['Hello']

list.append('World')
list.append('!')

print(list)

3.刪除元素

如果想刪除列表元素,可以使用 del 語句來刪除。

list = ['Hello','World','!']
print(list)#刪除前

del list[2]
print(list)#刪除後

【元組】

元組類似於列表,不同之處在於元組不能二次賦值,相當於只讀列表。

元組用 () 標識,內部元素用逗號隔開,如果想建立元組,只需要在括號中新增元素,並用逗號隔開即可。

1.訪問

元組中值的切割也使用:變數 [頭下標:尾下標] 的方式,與字串相同,從左到右索引預設 0 開始,從右到左索引預設 -1 開始,下標可以為空表示取到頭或尾。

tup1 = ('physics', 'chemistry', 1997, 2000)
tup2 = (1, 2, 3, 4, 5, 6, 7 )
 
print ( "tup1[0]: ", tup1[0] )
print ( "tup2[1:5]: ", tup2[1:5] )

2.連線組合

元組中的元素值是不允許修改的,但可以用 + 加號來對元組進行連線組合。

tup1 = (12, 34.56)
tup2 = ('abc', 'xyz')
 
# 建立一個新的元組
tup3 = tup1 + tup2
print (tup3)

3.刪除元組

元組中的元素值是不允許刪除的,但可以使用 del 語句來刪除整個元組。

tup = ('physics', 'chemistry', 1997, 2000)

del tup

【字典】

字典是除列表以外最靈活的內建資料結構型別。

列表是有序的物件集合,字典是無序的物件集合。兩者之間的區別在於:字典當中的元素是通過鍵來存取的,而不是通過偏移存取。

字典由索引(key)和它對應的值(value)組成,稱為鍵值對(key=>value),每對鍵值之間用冒號 : 分割,每個鍵值對之間用逗號 , 分割,整個字典包括在花括號 {} 中 ,格式為:dir = {key1 : value1, key2 : value2 , ... ,keyN : valueN}

鍵是唯一的,因此只可用數字、字串或元組來充當,值可以取任何資料型別的任何值,如果重複一個鍵值對則會替換前面的鍵值對。

dict1 = { 'abc': 456 }
dict2 = { 'abc': 123, 98.6: 37 }

1.訪問

將想要訪問的鍵放入方括號 [] 內即可得到該鍵所對應的值。

dict = {'Name': 'Zara', 'Age': 7, 'Class': 'First'};
 
print ("dict['Name']: ", dict['Name'])
print ("dict['Age']: ", dict['Age'])

2.新增鍵值對

如果想向字典中新增新的鍵值對,直接將想要新增的鍵放到方括號 [] 中,以賦值的形式新增值即可。

dict = {'Name': 'Zara', 'Age': 7, 'Class': 'First'};
 
dict['School'] = "DPS School";

3.修改鍵值

如果想修改字典中某一鍵所對應的值,直接將想要修改的鍵放到方括號 [] 中,以賦值的形式修改值即可。

dict = {'Name': 'Zara', 'Age': 7, 'Class': 'First'};
 
dict['Age'] = 8;

4.刪除鍵值對

如果想要刪除某一條目,使用 del 語句將想要刪除的鍵值對的鍵放到方括號 [] 中即可。

dict = {'Name': 'Zara', 'Age': 7, 'Class': 'First'}
 
del dict['Name'] # 刪除鍵是'Name'的條目

5.清空字典

如果想要清空字典條目,使用其內建函式 dir.clear() 即可。

dict = {'Name': 'Zara', 'Age': 7, 'Class': 'First'}
 
dict.clear()

6.刪除字典

使用 del 語句可以直接刪除一個字典。

dict = {'Name': 'Zara', 'Age': 7, 'Class': 'First'}
 
del dict

【集合】

集合是一個無序不重複元素的序列,建立集合時,如果集合記憶體在相同的元素,則只取一個,其他相同的元素視為不存在。

可以使用大括號 {} 來建立集合,格式:setname = {value01,value02,...}

或者 set() 函式來建立集合,格式:setname=set(value)

s={"Google", "Runoob", "Taobao"}
s=set(("Google", "Runoob", "Taobao"))

1.新增元素

將元素 x 新增到集合 s 中,如果元素已存在,則不進行任何操作,語法格式:s.add(x)

s=set(("Google", "Baidu", "Taobao"))
s.add("Tencent")

注:add() 只可新增一個元素

若想新增多個元素到集合 s 中,可以使用 update(),其引數可以是列表、元組、字典等,語法格式:s.update(x)

x 可以有多個,用逗號分隔

s=set(("Google", "Baidu", "Taobao"))
s.update(("Tencent","Facebook"))

2.移除元素

將元素 x 新增到集合 s 中移除,如果元素不存在,則會發生錯誤,語法格式:s.remove(x)

s=set(("Google", "Baidu", "Taobao"))
s.remove("Baidu")
s.remove("Tencent")#不存在會發生錯誤

除 remove() 外,還可以使用 discard() 來移除元素,且如果元素不存在,不會發生錯誤,語法格式:s.discard(x)

s=set(("Google", "Baidu", "Taobao"))
s.discard("Baidu")
s.discard("Tencent")#不存在不會發生錯誤

也可以設定隨機刪除集合 s 中的一個元素,語法格式:s.pop() 

s=set(("Google", "Baidu", "Taobao"))
s.pop()

3.計算集合元素個數

可用 len() 來計算集合 s 中的元素個數,值得注意的是,若集合中有相同的元素,則所有相同的元素僅視為一個元素。語法格式:len(s)

s=set(("Google", "Baidu", "Taobao"))
length=s.len()

4.清空集合

可用 clear() 來清空集合 s 中的所有元素,語法格式:s.clear()

s=set(("Google", "Baidu", "Taobao"))
s.clear()