Python 3 之數據類型
python 3 中有6種數據類型:
數據類型 | 示例 |
---|---|
Number (數字) | 123 ; 4.567 ; 8+9 j ; True |
String (字符串) | “I” ; “love” ; ‘python’ |
List (列表) | [‘I’, 8 , [5 , ‘Lily’] , (1 , 2) , {‘NAME’:’Lily’,’age’:5}] |
Tuple (元組) | (‘a’,3,[6,’z’]) ; (1 , 2 , 3) |
Dict (字典) | {“name”:”Lily” , “age”:”18”} |
Sets (集合) | {1 , 2 , 3} |
python中的變量不需要聲明,變量在賦值後內存中自動保存對象的類型。
如要知道數據類型,使用type()。
>>>a = 1
>>>type(a) # <class 'int'>
>>>b = 'I LOVE PYTHON 3'
>>>type(b) # <class 'str'>
>>>c = [1,'a',[ 2,'b']] # <class 'list'>
>>>d = {1,2,3}
>>>type(d) # <class 'set'>
>>>e = (1,2,3)
>>>type(e) # <class 'tuple'>
>>>f = {'name':'Lily','age':18}
>>>type(f) # <class 'dict'>
1.Number (數字)
數字是不可變類型,也就是說變更數字的值就會生成新的對象。比如變量就是一個盒子,你不能改變盒子的內容,但是你能指向一個新的盒子。
python3支持5種數據類型:int , float , bool , complex。
python允許多個變量賦值同時賦值。
數字可以進行運算,具體在運算符章節講解。
>>>a = 123 # int
>>>b = 4.56 # float
>>>c = 7+ 8j # complex
>>>d = false # bool
>>>a, b, c = 1, 2, 3 # 多個變量同時賦值
>>>a = b = c =999 # 多個變量同時賦值
>>>1 + 3 # 加法運算
4
>>>4 / 2 # 除法運算,得到一個浮點數
>2.0
>>>8 // 3 # 除法,得到一個整數
2
>>>19 % 4 #取餘
3
2.String (字符串)
字符串被定義爲引號之間的字符集合,python支持使用單引號,雙引號和三引號。
使用索引[]和切片[:]可以得到子字符串。
字符串的索引規則:第一個字符是0,最後一個字符是-1。
加號(+)用於字符串鏈接運算,星號(*)用於字符串重複。
>>>pystr = 'I love python' # 創建字符串,使用單引號
>>>Name = "Lilyis18" # 創建字符串,使用雙引號
>>>introduce = # 創建字符串,使用三引號,用'''...'''可以跨越多行
'''
Name Lily
age 18
hobby readding
'''
>>>hobby = r'readding\ntreval\nhiking' # \是轉義字符,如果不想\發生轉義,可以在字符串前面加r
>>>hobby2 = 'readding\ntreval\nhiking'
>>>print(hobby)
'readding\ntreval\nhiking'
>>>print(hobby2)
'reading
treval
hiking'
>>>Name[0] # 根據索引獲取第一個字符
'L'
>>>Name[-1] # 根據索引獲取最後一個字符
'8'
>>>Name[1:3] # 切片獲取第2-3個字符
'il'
>>>pystr + Name # 字符串拼接
'I love pythonLilyis18'
>>>pystr*2 # 字符串疊加
'I love pythonI love python'
3.List (列表)
列表元素用[]包囊,能保存任意類型的python對象,元素的個數和元素的值可以改變。
和數組一樣,通過從0的數字所索引訪問元素。
列表可以執行pop,sort,reverse等操作,列表也可以添加或者減少元素,還可以跟其他列表合併或者把一個列表分成幾個。
可以對單獨一個元素或者多個元素執行insert,update,remove操作
>>>list = ['I','LOVE','PYTHON',365,'DAYS']
>>>list2 = [888,'python3']
>>>list3 = [1,3,[2,4]]
>>>list[0] # 按照索引取第一個元素
['I']
>>>list[1:3] # 切片取索引爲1-2的元素
['LOVE','PYTHON']
>>>list+list2 # 合併list和list2
['I','LOVE','PYTHON',365,'DAYS',888,'python3']
>>>list[1] = 'hate' # 改變list[1]的值
>>>list
['I','hate','PYTHON',365,'DAYS']
>>>list3[3][1] # 取list3[3][1]
[2]
>>>list.pop() # 刪除最後一個元素,並返回該元素
'DAYS'
>>>list
['I','hate','PYTHON',365]
>>>a = ['c','b','d','a']
>>>a.sort() # 同類型的元素可以進行排序
['a','b','c','d']
>>>a.append('e') # 在列表末端添加元素
['a','b','c','d','e']
4.Tuple (元組)
元組是和列表非常相近的另一種容器,元組和列表唯一不同的點就是元組用圓括號,列表用方括號。而功能上,元組和列表有一個很重大的區別,元組是不可變類型。
>>>tuple = (1,2,3,'a','b','c') # 定義一個元組
>>>tuple2 = () # 定義空元組
>>>tuple3 = (333,) # 定義只有一個元素的元組,需要加一個逗號
>>>tuple[2:] # 切片
(3,'a','b','c')
>>>tuple[0] # 索引取值
(1)
>>>len(tuple) #返回tuple的長度
6
5.Dict (字典)
字典是python中唯一的映射類型。
字典用{}標識,是一個無序鍵值對(key:value)集合。
鍵是不可以變類型,鍵必須是唯一的。
>>>student = {'name':'zhangshan','age':18,'weight':64} #創建一個字典
>>>student['name'] # 獲取字典中的和那麼對應的值
'zhangshan'
>>>student['name'] = 'lisi' # 更新字典
>>>student.keys() # 獲取字典子所有的鍵
dict_keys(['name', 'age','weight'])
>>>student.values() # 獲取字典中所有的值
dict_values(['lisi', 18,64])
>>>del student['name'] # 刪除'name':'zhangshan'這個鍵值對
>>>student.clear() # 刪除student中的所有條目
6.Set (集合)
集合(set)是由不同元素組成的集合,是一組無序列的可哈希的值。
可以用{}和set()創建函數,若創建空集合必須用set()不能用{},{}是創建空字典。
s = set('pythonpython') # 創建一個集合
{'p','y','t','h','o','n'}
s.add('hello') # 添加元素
{'n', 'o', 't', 'hello', 'y', 'p', 'h'}
s.update('hello') # 更新集合中的元素
{'n', 'o', 't', 'hello', 'y', 'p', 'h','e','l'}
s -=set('pypi') # 減掉集合中的元素
{'n', 'o', 't', 'hello', 'h','e','l'}
s.remove('t')
{'n', 'o', 'hello', 'h','e','l'} # 移除集合中的元素
集合運算符 :| ; & ; - ; ^ ;