1. 程式人生 > >Python筆記(2)----5種標準資料型別

Python筆記(2)----5種標準資料型別

Python有五個標準的資料型別:
Numbers(數字)
String(字串)
List(列表)
Tuple(元組)
Dictionary(字典)




1、Numbers(數字)


Python Number 資料型別用於儲存數值。
資料型別是不允許改變的。


以下Number物件被建立。
var1 = 1
var2 = 10


用Del語句刪除物件引用。
del var
del var_a, var_b


2、字串


字串是 Python 中最常用的資料型別。
我們可以使用引號('或")來建立字串
示例:
var1 = 'Hello World!'
var2 = "Python"


Python訪問子字串,可以使用方括號來擷取字串
示例:
var1 = 'Hello World!'
var2 = "Python"


print "var1[0]: ", var1[0]
print "var2[1:5]: ", var2[1:5]


結果:
var1[0]:  H
var2[1:5]:  ytho


對已存在的字串進行修改,並賦值給另一個變數


示例:


var1 = 'Hello World!'
print "update : ", var1[:6] + 'luo!'
結果:
update :  Hello luo!


字串運算子


+字串連線


*重複輸出字串


[]通過索引獲取字串中字元


[ : ]擷取字串中的一部分


in成員運算子 - 如果字串中包含給定的字元返回 True


not in成員運算子 - 如果字串中不包含給定的字元返回 True


r/R原始字串 - 原始字串:所有的字串都是直接按照字面的意思來使用,沒有轉義特殊或不能列印的字元。 原始字串除在字串的第一個引號前加上字母"r"(可以大小寫)以外,與普通字串有著幾乎完全相同的語法。


%格式字串


示例:


a = "hello"
b = "world"
print "the exampes of a + b: ",a + b
print "the exampes of a * 2: ",a * 2
print "the exampes of a[1]: ",a[1]
print "the exampes of a[1:4]: ",a[1:4]
if( "H" in a) :
    print "H in a "
else :
print "H not in a "


if( "M" not in a) :
    print "M not in a "
else :
print "M in a "


print r'\n'
print R'\n'


結果:
the exampes of a + b:  helloworld
the exampes of a * 2:  hellohello
the exampes of a[1]:  e
the exampes of a[1:4]:  ell
H not in a 
M not in a 
\n
\n


3、列表


列表是最常用的Python資料型別,它可以作為一個方括號內的逗號分隔值出現。
列表的資料項不需要具有相同的型別


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


使用下標索引來訪問列表中的值,同樣也可以使用方括號的形式擷取字元


示例:


list1 = ['physics', 'chemistry', 1997, 2000]
list2 = [1, 2, 3, 4, 5, 6, 7 ]


print "list1[0]: ", list1[0]
print "list2[1:5]: ", list2[1:5]


結果:
list1[0]:  physics
list2[1:5]:  [2, 3, 4, 5]


注:下標索引是從零開始的。


對列表進行更新和修改。


示例:
list = ['physics', 'chemistry', 1997, 2000]


print "Value available at index 2 : "
print list[2]
list[2] = 2001
print "New value available at index 2 : "
print list[2]


結果:
Value available at index 2 : 
1997
New value available at index 2 : 
2001
刪除列表重的元素
list1 = ['physics', 'chemistry', 1997, 2000]


print list1
del list1[2]
print "After deleting value at index 2 : "
print list1


列表的擷取
結果:
['physics', 'chemistry', 1997, 2000]
After deleting value at index 2 : 
['physics', 'chemistry', 2000]


示例:
i = ["what","is","your","name"]
print i[3]
print i[-2]
print i[1:]
結果:
name
your
['is', 'your', 'name']


注:
L[3]讀取列表中第四個元素
L[-2]讀取列表中倒數第二個元素
L[1:]從第二個元素開始擷取列表


4、元組


Python的元組與列表類似,不同之處在於元組的元素不能修改。
元組使用小括號,列表使用方括號。


tup1 = ('physics', 'chemistry', 1997, 2000)
tup2 = (1, 2, 3, 4, 5 )
tup3 = "a", "b", "c", "d"


注:元組中只包含一個元素時,需要在元素後面新增逗號


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


tup = ('physics', 'chemistry', 1997, 200)
print tup
del tup
print "After deleting tup : "
print tup
結果:


('physics', 'chemistry', 1997, 2000)
  File "C:/Users/USER/Desktop/PYluo/test1.py", line 151, in <module>
After deleting tup : 
    print tup
NameError: name 'tup' is not defined


元組中的元素值是不允許修改的,但可以對元組進行連線組合
示例:


tup1 = (12, 34.56)
tup2 = ('abc', 'xyz')
tup3 = tup1 + tup2
print tup3
結果:
(12, 34.56, 'abc', 'xyz')


元組用下標索引來訪問元組中的值、元組的索引擷取都和列表的一樣


5、字典
字典的每個鍵值(key=>value)對用冒號(:)分割,每個對之間用逗號(,)分割,整個字典包括在花括號({})中 ,鍵必須是唯一的,但值則不必。


d = {key1 : value1, key2 : value2 }


訪問字典裡的值
示例:
dict = {'Name': 'Zara', 'Age': 7, 'Class': 'First'}


print "dict['Name']: ", dict['Name']
print "dict['Age']: ", dict['Age']
結果:
dict['Name']:  Zara
dict['Age']:  7


修改字典
示例:
dict = {'Name': 'Zara', 'Age': 7, 'Class': 'First'}


dict['Age'] = 8  # update existing entry
dict['School'] = "DPS School" # Add new entry


print "dict['Age']: ", dict['Age']
print "dict['School']: ", dict['School']


結果:
dict['Age']:  8
dict['School']:  DPS School


刪除字典元素
示例:


dict = {'Name': 'Zara', 'Age': 7, 'Class': 'First'}
del dict['Name'] # del 'Name'
dict.clear()  # del all
del dict # del dict
print "dict['Age']: ", dict['Age']
print "dict['class']: ", dict['class']


結果:


dict['Age']: 
  File "C:/Users/USER/Desktop/PYluo/test1.py", line 171, in <module>
    print "dict['Age']: ", dict['Age']
TypeError: 'type' object has no attribute '__getitem__'