##################################################
目錄
活動簡介
不可變數據類型
數字 Number
聲明及獲取數字數據類型
字符串 String
聲明及獲取字符串
截取字符串
拼接字符串
重復字符串
元組 Tuple
聲明和使用元組
元組可以包含可變對象
列表的取值以及 截取/拼接/重復
可變數據類型
列表 List
聲明列表
列表的取值以及 截取/拼接/重復
字典 Dictionary
字典的聲明
字典的取值
集合 Set
集合的定義
添加元素
移除元素
計算集合中元素的個數
清空集合
Other
列表元組字典集合的對比
Python 數據類型轉換
##################################################
活動地址:CSDN21天學習挑戰賽
學習的最大理由是想擺脫平庸,早一天就多一份人生的精彩;遲一天就多一天平庸的困擾;一個人摸索學習很難堅持,想組團高效學習;想寫博客但無從下手,急需寫作干貨注入能量;熱愛寫作,願意讓自己成為更好的人…
…
歡迎參與CSDN學習挑戰賽,成為更好的自己,請參考活動中各位優質專欄博主的免費高質量專欄資源(這部分優質資源是活動限時免費開放喔~),按照自身的學習領域和學習進度學習並記錄自己的學習過程,或者按照自己的理解發布專欄學習作品!
##################################################
——————————
Python 3 的數字類型有
int 長整型
float 浮點型
complex 復數
bool 布爾型
在 Python 3 裡只有一種整數類型 int 長整型
沒有 Python 2 中的 Long
在 Python 2 中是沒有布爾型的
用數字 0 表示 False 假
用 1 表示 True 真
到 Python 3 中把 True 和 False 定義成關鍵字了
但她們的值還是 1 和 0
她們可以和數字相加
%%%%%
數字數據類型用於存儲數值 是不可改變的數據類型
若改變數字數據類型會分配一個新的對象
當指定一個值時 Number 對象就會被創建 如
>>> a = 521 /* 創建一個實力對象 值為 521 */
>>> a /* 查看 a 的值 */
521
>>> a = 520 /* 當改變 a 的值為 520 時 會為變量 a 重新分配對象 */
>>> a
520
>>> del a /* 可以使用 del 刪除對象的引用 */
>>> a /* 再次看就看不到了 */
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
NameError: name 'a' is not defined
>>>
——————————
Python 的字符串或 串/String 是由
數字
字母
下劃線
組成的一串字符
%%%%%
示例:
>>> str = "Love521"
>>> str
'Love521'
>>>
Python 字符串列表有 2 種取值順序
從左到右索引默認 0 開始的最大范圍是字符串長度少 1
從右到左索引默認 -1 開始的最大范圍是字符串開頭
從左到右索引 從 0 開始:
>>> str /* 確定有 7 個元素 */
'Love521'
>>> str[0] /* 查看第一個元素 */
'L'
>>> str[1] /* 查看第二個元素 */
'o'
>>> str[6] /* 查看第七個元素 */
'1'
>>>
從右到左索引 從 -1 開始:
>>> str
'Love521'
>>> str[-1]
'1'
>>> str[-2]
'2'
>>> str[-3]
'5'
>>> str[-4]
'e'
>>> str[-5]
'v'
>>> str[-6]
'o'
>>> str[-7]
'L'
>>>
Python 字符串是不能通過下標的方式修改指定下標索引的字符值的:
>>> str
'Love521'
>>> str[0]
'L'
>>> str[0] = '!' /* 試圖將第一個元素值修改為感歎號 */
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: 'str' object does not support item assignment
>>>
%%%%%
從左到右:
>>> str_1 = str[:] /* 默認截取全部字符 */
>>> str_1
'Love521'
>>> str_1 = str[4:] /* 指定開始截取位置為第 5 個元素 */
>>> str_1
'521'
>>> str_1 = str[:5] /* 指定結束截取位置為第 6 個元素 */
>>> str_1
'Love5'
>>> str_1 = str[0:4] /* 指定截取范圍為第一個元素到第 5 個元素 */
>>> str_1
'Love'
>>>
從右到左:
>>> str_1 = str[:-1] /* 指定從右往左數第 1 個位置結束截取 */
>>> str_1
'Love52'
>>> str_1 = str[-3:] /* 指定從右往左數第 4 個位置開始截取 */
>>> str_1
'521'
>>> str_1 = str[-1:-1] /* 指定開始截取第一個元素 結束位置也是第一個元素 就是取第一個元素 */
>>> str_1
''
>>>
%%%%%
>>> str_1 = "LOVE"
>>> str
'Love521'
>>> str_1
'LOVE'
>>> str_2 = str + str_1
>>> str_2
'Love521LOVE'
>>>
%%%%%
>>> str_3 = "1"
>>> str_3
'1'
>>> str_4 = str_3 * 5
>>> str_4
'11111'
>>>
——————————
Python 的元組類似於 list 列表
元組不能二次賦值!!!相當於只讀列表
元組用
()
標識
內部元素用逗號隔開
%%%%%
>>> a = ( 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 )
>>> a
(1, 2, 3, 4, 5, 6, 7, 8, 9, 10)
>>> a[0] = 0 /* 元組不能二次賦值! */
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: 'tuple' object does not support item assignment
>>>
只有 1 個元素的元組則需要在元素後面添加逗號:
>>> a = ( 1 )
>>> b = ( 1, )
>>> a
1
>>> b
(1,)
>>> type(a) /* 可以看到類型為 int */
<class 'int'>
>>> type (b)
<class 'tuple'> /* 類型為元組 */
>>>
空元組可以直接用小括號或者 tuple() 表示:
>>> a = ()
>>> b = tuple()
>>> a
()
>>> b
()
>>> type (a) /* 使用 type() 可以查看類型 */
<class 'tuple'>
>>> type (b)
<class 'tuple'>
>>>
%%%%%
雖然元組的值不能改變 但是可以包含可變對象 例如包含一個 list 列表:
>>> a = [ '1', 'b', '.' ] /* 聲明一個 list 列表 */
>>> a
['1', 'b', '.']
>>> b = ( 1, a, 3 ) /* 元組包含列表 */
>>> b
(1, ['1', 'b', '.'], 3)
>>>
%%%%%
同字符串的取值截取拼接重復
這邊不再詳細介紹 請自行搜索
##################################################
——————————
Python 的列表可以完成大多數集合類的數據結構實現
支持
數字
字符
字符串
甚至可以包含列表
即 嵌套列表 或者叫 多維列表 可以用來表示多維數組
列表用
[]
標識
是 Python 中最通用的復合數據類型
%%%%%
>>> a = [] /* 空列表 */
>>> a
[]
>>> b = [ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 ] /* 數字列表 */
>>> b
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
>>> c = [ 'A', 'b', '!' ] /* 字符列表 */
>>> c
['A', 'b', '!']
>>> d = [ "Love", "123", "[email protected])#" ] /* 字符串列表 */
>>> d
['Love', '123', '[email protected])#']
>>> e = [ a, b, [ 0, 1, 2 ] ] /* 集合列表 */
>>> e
[[], [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], [0, 1, 2]]
>>>
%%%%%
同字符串的取值截取拼接重復
這邊不再詳細介紹
列表的截取可以有三個參數:
開始位置 結束位置 步長
請自行搜索
——————————
字典 dictionary 是 Python 中除了列表之外最靈活的內置數據結構類型
列表是有序的對象集合 而字典是無序的對象集合
字典用
{}
來標識
字典由 索引/key 和所對應的 值/value 組成
%%%%%
需要注意:
鍵/key 必須使用不可變類型 例如 數字、字符串、元組
在同一個字典中的 鍵/key 必須是唯一的!!!
>>> a = {} /* 聲明一個字典 a */
>>> a [ 'name' ] = "崽崽" /* 字典 a 中聲明一個 'name' 鍵 對應的值為 "崽崽" */
>>> a['age']=14 /* 字典 a 中聲明一個 'age' 鍵 對應的值為 14 */
>>> a[ 'sex' ] = '女' /* 字典 a 中聲明一個 'sex' 鍵 對應的值為 '女' */
>>> a /* 查看字典內容 */
{'name': '崽崽', 'age': 14, 'sex': '女'}
>>>
%%%%%
字典當中的元素是通過鍵來存取的 而不是通過偏移存取!
>>> a['sex'] /* 獲取單獨的 'sex' 鍵所指向的值 */
'女'
>>> a [ 'name' ] /* 獲取單獨的 'name' 鍵所指向的值 */
'崽崽'
>>> a.keys() /* 查看鍵 */
dict_keys(['name', 'age', 'sex'])
>>> a.values() /* 查看值 */
dict_values(['崽崽', 14, '女'])
>>>
——————————
Python 的 集合/set 是由一個或數個形態各異的大小整體組成的
構成集合的事物或對象稱作元素或是成員
集合是一個無序的不重復的元素序列
%%%%%
可以使用 {} 或者 set() 函數來創建一個集合
創建一個空集合的話必須使用 set() 這個方法而不能使用 {}
因為 {} 是用來創建空字典的
>>> a = { 1, 2, 3 }
>>> type (a)
<class 'set'>
>>> b = set()
>>> type(b)
<class 'set'>
>>>
set 函數只接受一個參數且該參數類型不為數字類型:
>>> a = [ 1, 2, ]
>>> b = set ( a )
>>> b
{1, 2}
>>> type (a)
<class 'list'>
>>> type (b)
<class 'set'>
>>>
%%%%%
add() 將元素添加到集合中 如果元素已經存在 則不進行任何操作
示例:
>>> a = set ( "Love" )
>>> a
{'L', 'e', 'o', 'v'}
>>> a.add("521")
>>> a
{'e', 'o', 'L', '521', 'v'}
>>>
update() 也可以添加元素 而且參數可以是列表元組字典等
update 函數跟 add 方法不同在於是把要傳入的元素拆分成單個字符存於集合中並去掉重復的字符 可以一次添加多個值!
%%%%%
使用 remove() 來從集合中移除元素 如果移除前集合中本身就沒有這個元素 那麼就會報錯
示例:
>>> a
{'e', 'o', 'L', '521', 'v'}
>>> a.remove( "521" )
>>> a
{'e', 'o', 'L', 'v'}
>>>
使用 discard() 來移除集合中的元素如過元素不存在也不會發生錯誤……
使用 pop() 這個方法可以隨機刪除集合中的一個元素!!!!!!
%%%%%
使用 len() 計算集合中元素的個數
示例:
>>> len(a)
4
>>> a
{'e', 'o', 'L', 'v'}
>>>
%%%%%
使用 clear() 清空集合
示例:
>>> a.clear()
>>> a
set()
>>>
##################################################
——————————
list 列表 [] 有序可改變集合 允許重復數據
tuple 元組 () 有序不可改變集合 允許重復數據
set 集合 {} 無序無索引集合 索引為鍵值 無重復數據
dictionary 字典 {} 無序 可變 有索引集合 無重復數據
——————————
最常見的轉換方法:
int(參數) 轉化為一個整數 向下取整
示例:
>>> int ( 521.1314 )
521
>>>
float(參數) 轉化為一個浮點數
示例:
>>> float(521)
521.0
>>>
complex(參數列表) 轉化為一個復數
示例:
>>> a=1
>>> b=2
>>> complex(a,b)
(1+2j)
>>> complex(a)
(1+0j)
>>>
其她常見轉換方法:
str(參數) 轉化為一個字符串
repr(參數) 將對象轉換為表達式字符串
eval(參數) 計算字符串表達式得到結果
tuple(參數) 將序列轉化為一個元組
list(參數) 將序列轉化為一個列表
set(參數) 將序列轉化為可變集合 可用於列表去重
dict() 創建一個字典
frozenset(參數) 轉換為不可變集合
chr(參數) 將一個整數轉化為其 ASCII 碼對應的字符
ord(參數) 將一個字符轉化為一個整數該整數為對應的 ASCII 碼
hex(參數) 將一個整數轉換為一個十六進制字符串
oct(參數) 將一個整數轉換為一個八進制字符串