目錄
- 一、異常TODO
-
二、深淺拷貝
- 2.1 拷貝
- 2.2 淺拷貝
- 2.3 深拷貝
-
三、數據類型內置方法
-
3.1 數字類型內置方法
- 3.1.1 整型
- 3.1.2 浮點型
- 3.2 字符串類型內置方法
- 3.3 列表類型內置方法
- 3.4 元祖類型內置方法
- 3.5 字典類型內置方法
- 3.6 集合類型內置方法
- 3.7 布爾類型
-
3.1 數字類型內置方法
-
四、數據類型分類
- 4.1 按值個數
- 4.2 按有序無序
- 4.3 按可變不可變
一、異常TODO
萬能捕捉異常公式
try:
# 邏輯代碼
1/0
except Exception as e:
print(e)
division by zero
二、深淺拷貝
2.1 拷貝
拷貝/淺拷貝/深拷貝都是針對可變類型數據而言的
l1 = ['a','b','c',['d','e','f']]
l2 = l1
l1.append('g')
print(l1) # ['a','b','c',['d','e','f'],'g']
print(l2) # ['a','b','c',['d','e','f'],'g']
如果l2是l1的拷貝對象,則l1內部的任何數據類型的元素變化,則l2內部的元素也會跟著改變,因為可變類型值變id不變
2.2 淺拷貝
import copy
l1 = ['a','b','c',['d','e','f']]
l2 = copy.copy(l1)
l1.append('g')
print(l1) # ['a','b','c',['d','e','f'],'g']
print(l2) # ['a','b','c',['d','e','f']]
l1[3].append('g')
print(l1) # ['a','b','c',['d','e','f','g'],'g']
print(l2) # ['a','b','c',['d','e','f','g']]
如果l2是l1的淺拷貝對象,則l1內的不可變元素發生了改變,l2不變;如果l1內的可變元素發生了改變,則l2會跟著改變
2.3 深拷貝
import copy
l1 = ['a','b','c',['d','e','f']]
l2 = copy.deepcopy(l1)
l1.append('g')
print(l1) # ['a','b','c',['d','e','f'],'g']
print(l2) # ['a','b','c',['d','e','f']]
l1[3].append('g')
print(l1) # ['a','b','c',['d','e','f','g'],'g']
print(l2) # ['a','b','c',['d','e','f']]
如果l2是l1的深拷貝對象,則l1內的不可變元素發生了改變,l2不變;如果l1內的可變元素發生了改變,l2也不會變,即l2永遠不會因為l1的變化而變化
三、數據類型內置方法
3.1 數字類型內置方法
3.1.1 整型
- 作用:定義年齡/身高/體重/id號
- 定義方式:
age = 18
age = int('18')
-
方法:
+ - * / % // **
- 多個值or一個值:一個值
- 有序or無序:壓根沒有有序無序這一說
- 可變or不可變:不可變
- 可變:值變id不變,值變id也變
3.1.2 浮點型
- 作用:定義薪資/價格
- 定義方式:
salary = 3.2
salary = float('3.2')
-
方法:
+ - * / % // **
- 多個值or一個值:一個值
- 有序or無序:壓根沒有有序無序這一說
- 可變or不可變:不可變
3.2 字符串類型內置方法
- 作用:姓名/
- 定義方式:
name = 'nick'
name = "nick"
name = '''
nick
nick
'''
name = """
nick
nick
"""
name = "'nick'"
name = '"nick"'
-
方法
-
優先掌握
- 索引取值
- 切片
- 長度
- 切分split
- 除兩邊空白strip
- 成員運算in?;not in
- for循環
-
需要掌握
- lstrip/rstrip:左/右除空白
- rsplit:從右開始切割
- upper/lower:大寫/小寫
- startstwith/endswith:以某開頭/以某結尾
- join:連接列表為字符串
- replace:替換字符
- isdigit:判斷是否為數字
-
了解
- find/rfind/index/rindex/count:查找/從右開始查找/索引結果/從右開始索引結果/計數
- center/ljust/rjust/zfill:居中填充/居左填充/居右填充/填充0
- expantabs:擴展tab鍵
- capitalize/swapcase/title:大寫/大小寫轉換/首字母大寫
- is系列:略
-
優先掌握
- 多個值or一個值:一個值
- 有序or無序:有序
- 可變or不可變:不可變
3.3 列表類型內置方法
- 作用:多個女朋友/
- 定義方式:[]內用逗號隔開多個任意數據類型的元素
friends_list = ['longzeluola','canglaoshi','qiaobenai','nick']
lis = list('abcd')
-
方法:
-
優先掌握
- 索引取值(即可取又可改)
- 切片
- 長度
- append
- 成員運算
- for循環
-
需要掌握
- count:元素個數計數
- remove:移除元素
- reverse:反轉列表
- pop:刪除元素
- insert:插入元素
- sort:列表排序
- index:索引元素
- del:刪除元素
- extend:擴展列表
- clear:清除列表
-
優先掌握
- 多個值or一個值:多個值
- 有序or無序:有序
- 可變or不可變:可變
3.4 元祖類型內置方法
- 作用:類似于列表,可以取不可以存
- 定義方式:
friends_tuple = ('longzeluola','canglaoshi','qiaobenai','nick')
tup = tuple('abcd')
-
方法
-
優先掌握
- 索引取值(無法更改)
- 切片
- 長度
- 成員運算
- for循環
- count:元素個數計數
- index:元素位置索引
-
優先掌握
- 多個值or一個值:多個值
- 有序or無序:有序
- 可變or不可變:無可變不可變這一說
3.5 字典類型內置方法
- 作用:值太多列表存容易,取麻煩時使用字典
- 定義方式:
nick_info_dict = {
'name':'nick',
'height':180,
'weight':140,
'hobby_list':['read','run','music','fishing','programming','coding','debugging']
}
for k,v in nick_info_dict.items():
print(k,v)
-
方法
-
優先掌握
- 按鍵取值
- 長度
- keys/values/items
- for循環
- 成員運算
-
需要掌握
- pop:刪除元素
- fromkeys:由一個列表生成一個字典,默認值為None
- setdefault:有指定key不會改變值;無指定key則改變值
- get:通過key獲取value,無key默認獲取None
- update:擴展字典
- del:刪除字典鍵值對
-
優先掌握
- 多個值or一個值:多個值
- 有序or無序:無序
- 可變or不可變:可變
3.6 集合類型內置方法
- 作用:存多個值,為了集合之間做運算
- 定義方式:
s = set()
s = {1,2,3,4,5,1}
-
方法:
-
優先掌握
- 去重
- 并集 |
- 交集 &
- 差集 -
- 對稱差集 ^
- 父集 >?;>=
- 子集 <?;<=
-
==
-
需要掌握
- add:添加元素
- difference_update:更新該集合沒有的元素
- isdisjoint:如果兩個元素交集為空返回True,否則返回False
- remove:移除元素 # 值不存在會報錯
- discard :移除元素 # 不會報錯
-
優先掌握
- 多個值or一個值:多個值
- 有序or無序:無序
- 可變or不可變:可變
3.7 布爾類型
- 作用:一般用于判斷,除了0/None/空/False自帶布爾值為False,其他的數據類型自帶布爾值為True
四、數據類型分類
4.1 按值個數
一個值 | 多個值 |
---|---|
整型/浮點型/字符串 | 列表/元祖/字典/集合/ |
4.2 按有序無序
有序 | 無序 |
---|---|
字符串/列表/元祖 | 字典/集合 |
4.3 按可變不可變
可變 | 不可變 |
---|---|
列表/字典/集合 | 整型/浮點型/字符串 |
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
