1. 程式人生 > >Python語法 之 基本資料型別

Python語法 之 基本資料型別

資料型別

整數

int = 20
print int 

效果如下:
這裡寫圖片描述

浮點型

float = 6.6
print float

效果如下:
這裡寫圖片描述

字串

字串可以用單引號,雙引號,以及三引號括起來形成字串,單引號與雙引號括起來的用法完全相同,三引號字串,表示多行的字串,可以在三引號中自由的使用單引號和雙引號。
這裡寫圖片描述

列表

列表的定義

列表名=[A,B,C]其中A,B,C可以是字串等任意型別的變數的定義,例如

list=['physics', 'chemistry', 1997, 2000]
nums=[1, 3, 5, 7, 8, 13, 20]

這裡寫圖片描述

列表的訪問

有以下幾種訪問列表的方式,特別注意,列表的下標可以是負數,例如-1表示列表中最後一個元素,-2表示列表倒數第二個元素,例如訪問前面的nums列表
print nums[2] //單個下標訪問單個元素
print nums[2:5] //從下標為2的元素切割到下標為5的元素,但不包含下標為5的元素
print nums[1:] //從下標為1切割到最後一個元素,包括最後一個元素
print nums[:-3] //從最開始的元素一直切割到倒數第3個元素,但不包含倒數第三個元素
print nums[:] //訪問列表所有元素
這裡寫圖片描述

更新列表元素

以賦值的方式更新

nums[0] = 'su'
print nums[:]

結果如下
這裡寫圖片描述

刪除列表元素

使用del刪除元素

del nums[0]
print nums[0]
print nums[:]

效果如圖
這裡寫圖片描述

列表指令碼操作符

列表對+和的操作符與字串相似。+號用於組合列表,號用於重複列表,in 判斷列表中是否存在這個元素值。如下語句:

nums = [1, 3, 5, 7, 8, 13, 20]
me = ['su', 'chao']

 print (nums + me)  //組合列表nums和me
 print (me *3)  //將列表me重複三遍
print (3 in nums) //判斷元素是否在列表中 print ('su' in me) print (3 in me)

這裡寫圖片描述

列表的函式與方法

 list.append(obj) 在列表末尾新增新的物件
 list.count(obj) 統計某個元素在列表中出現的次數
 list.extend(seq) 在列表末尾一次性追加另一個序列中的多個值(用新列表擴充套件原來的列表)
 list.index(obj) 從列表中找出某個值第一個匹配項的索引位置,索引從0開始
 list.insert(index, obj) 將物件插入列表
 list.remove(obj) 移除列表中某個值的第一個匹配項
 list.reverse() 反向列表中元素,倒轉
 list.sort() 對原列表進行排序,預設從小到大排序

見如下效果圖
這裡寫圖片描述

元組

元組的定義

 python的元組與列表類似,不同之處在於元組的元素不能修改;元組使用小括號(),列表使用方括號[];元組的建立方式:元組名=(A,B,C)其中A,B,C可以是字串等任意型別的變數的定義,建立空元組:元組名 = (),元組中只有一個元素時,需要在元素後面新增逗號,例如:tup1 = (50,);

元組元素的訪問

 元組與列表的訪問類似,下標索引從0開始,用[]取下標的方式訪問
tup1 = ('physics', 'chemistry', 1997, 2000)

print tup1[0]    //訪問第一個元素
print tup1[1:3]   //訪問第二個到第四個元素,不包括第四個元素
print tup1[:-2]   //訪問從第一個元素到倒數第二個元素,不包括倒數第二個元素

效果如下圖
這裡寫圖片描述

元組元素的修改

 元組中的元素是不能被修改的,形如這樣的修改是非法的。
tup1[0] = 100
print tup1[0]

結果如下:
這裡寫圖片描述

元組元素的刪除

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

形如這樣的語句會報錯:

del tup1[0]

但是刪除整個元組是可以實現的。

del tup1

上述兩語句的效果如下:
這裡寫圖片描述

元組的運算

 與列表一樣,元組之間可以使用+號和*號進行運算。+號表示將兩個元組組合成一個新元組,*號表示將一個元組複製多遍。in 是用來判斷一個元素是否在元組中:

這裡寫圖片描述

元組的函式與方法

元組有如下常見的內建函式

cmp(tuple1, tuple2) 比較兩個元組元素。
len(tuple) 計算元組元素個數。
max(tuple) 返回元組中元素最大值。
min(tuple) 返回元組中元素最小值。
tuple(seq) 將列表轉換為元組。

可以見下圖操作語句作為例子:
這裡寫圖片描述

這裡特別解釋下
如果比較的元素是同類型的,則比較其值,返回結果。
如果兩個元素不是同一種類型,則檢查它們是否是數字。
如果是數字,執行必要的數字強制型別轉換,然後比較。
如果有一方的元素是數字,則另一方的元素”大”(數字是”最小的”)
否則,通過型別名字的字母順序進行比較。
如果有一個列表首先到達末尾,則另一個長一點的列表”大”。
如果我們用盡了兩個列表的元素而且所 有元素都是相等的,那麼結果就是個平局,就是說返回一個 0。

字典

字典(dictionary)是除列表之外python中最靈活的內建資料結構型別。列表是有序的物件結合,字典是無序的物件集合。兩者之間的區別在於:字典當中的元素是通過鍵來存取的,而不是通過偏移存取。

字典的定義

字典由鍵和對應的值組成。字典也被稱作關聯陣列或雜湊表。字典的定義形式:字典名={key1:value1,key2:value2,key3:value3,……}

dict = {'Alice': '2341', 'Beth': '9102', 'Cecil': '3258'};

效果如下:
這裡寫圖片描述

字典的訪問

 字典的訪問是通過key值來訪問的,key值就相當於字典某項的名字。
 它也是用[]的方式來訪問,只不過與列表不同的是,在[]中標明的是key來獲取value。
dict = {'name': 'Zara', 'age': 7, 'class': 'First'}

print dict['name']
print dict['class']

效果如下
這裡寫圖片描述

字典元素值的修改

 向字典新增新內容的方法是dict[key4] = value4(key4是原字典不存在的鍵),修改某個元素的方法dict[key3] = value_new(key3是字典中原有的鍵,value_new是一個新的值)
dict = {'name': 'Zara', 'age': 7, 'class': 'First'}

dict['age']=27; //修改已有鍵的值
dict['school']="wutong"; //增加新的鍵/值對

效果如下:
這裡寫圖片描述

字典元素刪除

 例如,針對上述字典,刪除鍵是'name'的條目:del dict['name'],清空詞典所有條目:dict.clear(), 刪除詞典:del dict ,
dict = {'name': 'Zara', 'age': 7, 'class': 'First'}

del dict['name']
dict.clear()
del dict

這裡寫圖片描述

字典的函式與方法

cmp(dict1, dict2) 比較兩個字典元素。
len(dict) 計算字典元素個數,即鍵的總數。
str(dict) 輸出字典可列印的字串表示。
type(variable) 返回輸入的變數型別,如果變數是字典就返回字典型別。
radiansdict.clear() 刪除字典內所有元素
radiansdict.copy() 返回一個字典的淺複製
radiansdict.fromkeys(seq) 建立一個新字典,以序列seq中元素做字典的鍵,val為字典所有鍵對應的初始值
radiansdict.get(key, default=None) 返回指定鍵的值,如果值不在字典中返回defaultradiansdict.has_key(key) 如果鍵在字典dict裡返回true,否則返回false
radiansdict.items() 以列表返回可遍歷的(鍵, 值) 元組陣列
radiansdict.keys() 以列表返回一個字典所有的鍵
radiansdict.setdefault(key, default=None)get()類似, 但如果鍵不已經存在於字典中,將會新增鍵並將值設為default
radiansdict.update(dict2) 把字典dict2的鍵/值對更新到dictradiansdict.values() 以列表返回字典中的所有值

具體每個函式的實現,見下圖
這裡寫圖片描述