硬核!清華教授分享教科書般的Python資料型別筆記,理論實戰齊飛

Hello,今天給各位童鞋們分享的是Python資料型別,趕緊拿出小本子記下來吧

硬核!清華教授分享教科書般的Python資料型別筆記,理論實戰齊飛

執行環境:

python3.8.8

jupyter-lab

資料型別的獲取方法

type(): 返回指定值得資料型別

type(“11”)

output:str

isintance():判斷傳入的值是否為指定型別

isinstance(‘Python你好’, str)

output:True

基礎資料型別(6種)

1 int:數字

2 str:字串

3 list:列表

4 tuple:元組

5 sets:集合

6 dict:字典

硬核!清華教授分享教科書般的Python資料型別筆記,理論實戰齊飛

不可變資料型別

不可變資料型別包括int(數字)、str(字串)、tuple(元組),float(浮點型)、boolean(布林型)

數字(int)型別操作

資料型別轉換

int(x) :將x轉換為一個整數。

float(x): 將x轉換到一個浮點數。

complex(x, y) :將x轉換到一個複數,實數部分為 x,不傳y時虛數部分為 0。

運算子‘+ - * */ // % * **’

注意的是 “/”總是返回的浮點型

硬核!清華教授分享教科書般的Python資料型別筆記,理論實戰齊飛

“//”:返回除法向下取整後的結果,

注:返回值還與分母相關,分母為浮點,則返回值也為浮點

17 % 3

output: 2

“//”:返回除法向下取整後的結果,

注:返回值還與分母相關,分母為浮點,則返回值也為浮點

硬核!清華教授分享教科書般的Python資料型別筆記,理論實戰齊飛

“%”:返回餘數

硬核!清華教授分享教科書般的Python資料型別筆記,理論實戰齊飛

**:冪運算

abs(x)

返回數字的絕對值

硬核!清華教授分享教科書般的Python資料型別筆記,理論實戰齊飛

math。xxx

math。ceil(x):返回數字的上入整數

math。exp(x):返回e的x次冪

math。floor(x):返回數字的下舍整數

math。fabs(x):返回數字的絕對值

math。log(x,y):返回以y為底x的對數

math。log10(x):返回以10為基數的對數

math。pi:圓周率

math。e:自然常數

math。modf(x):返回x的整數部分與小數部分,兩部分的數值符號與x相同,整數部分以浮點型表示。

硬核!清華教授分享教科書般的Python資料型別筆記,理論實戰齊飛

max(x,y,z),min(x,y,z)

計算x,y,z中最大/最小的數

硬核!清華教授分享教科書般的Python資料型別筆記,理論實戰齊飛

pow(x,y)

計算x**y 運算後的值

硬核!清華教授分享教科書般的Python資料型別筆記,理論實戰齊飛

sqrt()

sqrt(x)返回數字x的平方根

硬核!清華教授分享教科書般的Python資料型別筆記,理論實戰齊飛

round(x[,n])

round返回浮點數x的四捨五入

見規範輸出專篇

生成隨機數

見隨機數專篇

字串(str)操作

資料型別轉換

str()

將指定值轉為字串型別。

硬核!清華教授分享教科書般的Python資料型別筆記,理論實戰齊飛

eval()

將字串轉換成有效的python表示式或者計算結果,也可以做資料型別的轉換:

硬核!清華教授分享教科書般的Python資料型別筆記,理論實戰齊飛

返回特定格式(居中,大小寫,填充)

str。capitalize()

返回首字母大寫,其餘小寫的字串

硬核!清華教授分享教科書般的Python資料型別筆記,理論實戰齊飛

str。center(width,fillchar)

返回一個指定長度width的居中字串,空餘部分由fillchar指定的字元填充,fillchar預設為空格

注:fillchar只支援一個字元

硬核!清華教授分享教科書般的Python資料型別筆記,理論實戰齊飛

str。lower() &str。upper()

str。lower() &str。upper() 將指定字串轉換為小寫/大寫

硬核!清華教授分享教科書般的Python資料型別筆記,理論實戰齊飛

str。title()

title()

返回字串中每一個單詞首字母大寫

硬核!清華教授分享教科書般的Python資料型別筆記,理論實戰齊飛

str。ljust() & str。rjust()

str。ljust(width,fillchar) & str。rjust(width,fillchar)實現指定寬度的左右對齊字串

硬核!清華教授分享教科書般的Python資料型別筆記,理論實戰齊飛

統計、 查詢、定點查詢

str。count()

str。count(sub, start, end)

返回

sub

str

中出現的次數,可以透過

[start, end]

指定範圍,若不指定,則預設查詢整個字串。

硬核!清華教授分享教科書般的Python資料型別筆記,理論實戰齊飛

str。find() & str。rfind()

find() 從左往右掃描字串,返回 sub 第一次出現的下標。可以透過 [start, end] 指定範圍,若不指定,則預設查詢整個字串。如最後未找到字串則返回 -1。

rfind則是從右往左開始掃描 ,結果與find一致

硬核!清華教授分享教科書般的Python資料型別筆記,理論實戰齊飛

str。index() & str。rindex()

和find類似,但是找不到值會報錯ValueError: substring not found

硬核!清華教授分享教科書般的Python資料型別筆記,理論實戰齊飛

判斷(字母數字大小寫漢字空格首尾)

str。isalnum()

isalnum()

判斷字串中是否所有字元都是字母/漢字/數字,是

True

,否

False

,空字串返回

False

硬核!清華教授分享教科書般的Python資料型別筆記,理論實戰齊飛

str。isalpha()

isalpha()

判斷字串中是否所有字元都是字母/漢字,是

True

,否

False

,空字串返回

False

硬核!清華教授分享教科書般的Python資料型別筆記,理論實戰齊飛

str。isdigit()

isdigit() 判斷字串中是否所有字元都是數字(Unicode數字,byte數字(單位元組),全形數字(雙位元組),羅馬數字),是 True ,否 False,空字串返回 False

str。isspace()

字串中只包含空格(\n換行、\r回車、\f換頁、\t橫向製表符、\v縱項製表符),是 True ,否 False,空字串返回 False

硬核!清華教授分享教科書般的Python資料型別筆記,理論實戰齊飛

str。startswith() & str。endswith

startswith(prefix[, start[, end]]) 檢查字串是否是以指定子字串 substr 開頭,是 True ,否 False,空字串會報錯。如果指定 start 和 end ,則在指定範圍內檢查。

硬核!清華教授分享教科書般的Python資料型別筆記,理論實戰齊飛

str。istitle()

istitle() 判斷字串是否滿足每一個單詞首字母大寫,是 True ,否 False,空字串返回 False

str。isupper()& str。islower()

str。isupper()& str。islower() 判斷字串所有區分大小寫的字元是否都是大寫/小寫形式

注: 空字串或者字串中午區分大小寫的字元返回False

切割,分割,組裝

str。lstrip() & str。rstrip() & str。strip()

str。

lstrip()

會在字串左側根據指定的字元進行擷取,若未指定預設擷取左側空格回車\r\n\t

硬核!清華教授分享教科書般的Python資料型別筆記,理論實戰齊飛

str。strip()會擷取字串兩邊指定的字元

str。join(iter)

join(iterable)

以指定字串作為分隔符,將

iterable

中所有的元素(必須是字串)合併為一個新的字串。

硬核!清華教授分享教科書般的Python資料型別筆記,理論實戰齊飛

str。split() & str。splitlines()

str。split(sep=None, maxsplit=-1)

使用sep做分隔符,進行分割,返回列表,maxsplit從左到右分割的最大次數

硬核!清華教授分享教科書般的Python資料型別筆記,理論實戰齊飛

str。splitlines

返回字串中的行列表,它按照行

(‘\r’,\n‘,’\r\n‘)

分隔,返回分隔後的列表。它只有一個引數

keepends

表示是否在結果中保留換行符,

False

(預設)不保留,

True

保留

硬核!清華教授分享教科書般的Python資料型別筆記,理論實戰齊飛

tuple(元組)操作

tuple()

tuple()

將可迭代物件轉換成元組

硬核!清華教授分享教科書般的Python資料型別筆記,理論實戰齊飛

可變資料型別

可變型別有list(列表)、dict(字典)、set(集合)

list(列表)操作

list()

list()

將可迭代物件轉成列表。

硬核!清華教授分享教科書般的Python資料型別筆記,理論實戰齊飛

增(追加,拓展,插入)

list。append():追加寫,在末尾新增元素

硬核!清華教授分享教科書般的Python資料型別筆記,理論實戰齊飛

list。extand():擴充套件列表,在列表末尾新增可迭代物件,字典和集合的追加需要注意

硬核!清華教授分享教科書般的Python資料型別筆記,理論實戰齊飛

list。insert(index,object):將指定物件插入到index位置,當index大於列表長度時,元素會新增至末尾

硬核!清華教授分享教科書般的Python資料型別筆記,理論實戰齊飛

list。pop():移除指定位置的元素,並返回刪除的元素的值,預設移除最後一個,超出長度則會報錯。

硬核!清華教授分享教科書般的Python資料型別筆記,理論實戰齊飛

list。remove(value):刪除列表中第一次出現的value,無返回值,直接對列表進行修改。值不存在則報錯。

list。clear():移除列表中所有的元素,無返回值,列表為[]

改(賦值排序)

list。reverse():將列表本身進行逆序排列

硬核!清華教授分享教科書般的Python資料型別筆記,理論實戰齊飛

list。sort(key, reverse):對列表進行特定方式的排序,修改原列表,且元素相等時順序不會因為排序而改變。

key:指定可迭代物件中的每個元素按照該函式進行排序,通常和lambda一起使用。

reverse: False為升序,True為降序

硬核!清華教授分享教科書般的Python資料型別筆記,理論實戰齊飛

list。index(value,start,stop):返回列表中第一個與value匹配的元素下標。

list。count(value):返回value在列表中出現的次數,無value則返回0

ist。copy() # 深複製淺複製

淺複製通常只複製物件本身,而深複製不僅會複製物件,還會遞迴的複製物件所關聯的物件。

深複製可能會遇到兩個問題:

一個物件如果直接或間接的引用了自身,會導致無休止的遞迴複製;

深複製可能對原本設計為多個物件共享的資料也進行複製。

解決方法:deepcopy可以透過memo字典來儲存已經複製過的物件,從而避免自引用遞迴問題

注:列表的切片操作[:]相當於實現了列表物件的淺複製

copy:

- 當最外層物件為可變型別時,copy後得到的物件指向新的記憶體空間,當最外層的物件為不可變型別時,copy後得到的物件指向原物件的記憶體空間(注意:淺複製的物件的最外層是否是可變型別)

deepcopy:除複製物件本身,還複製物件中引用的其他物件

- 複製的內容中只要有一個是個可變型別,那麼deepcopy一定是深複製

硬核!清華教授分享教科書般的Python資料型別筆記,理論實戰齊飛

注:深複製只有一種方式:copy模組中的deepcopy函式。

1、賦值:簡單地複製物件的引用,兩個物件的id相同。

2、淺複製:建立一個新的組合物件,這個新物件與原物件共享記憶體中的子物件。

3、深複製:建立一個新的組合物件,同時遞迴地複製所有子物件,新的組合物件與原物件沒有任何關聯。雖然實際上會共享不可變的子物件,但不影響它們的相互獨立性。

dict(字典)操作

dict。clear()

clear() 清除字典的所有內容

硬核!清華教授分享教科書般的Python資料型別筆記,理論實戰齊飛

dict。fromkeys()

fromkeys()

建立一個新字典,以序列

iterable

中元素做字典的鍵,

value

為字典所有鍵對應的初始值

iterable:

可迭代物件,新字典的鍵

value:

可選引數, 設定鍵序列對應的值,預設為

None

硬核!清華教授分享教科書般的Python資料型別筆記,理論實戰齊飛

dict。get()

get(key, default=None)

根據指定的

key

值查詢,如果

key

在字典中,則返回

key

的值,否則為

None

硬核!清華教授分享教科書般的Python資料型別筆記,理論實戰齊飛

dict。items()

items()

返回檢視物件,是一個可遍歷的

key/value

對,可以使用

list()

將其轉換為列表

硬核!清華教授分享教科書般的Python資料型別筆記,理論實戰齊飛

dict。keys()

keys()

返回一個檢視物件,值為字典的

key

,可將其轉換成列表

硬核!清華教授分享教科書般的Python資料型別筆記,理論實戰齊飛

dict。setdefault()

setdefault(key, default=None)

如果鍵不在字典中,則插入值為

None

的鍵。如果鍵在字典中,則返回鍵的值

硬核!清華教授分享教科書般的Python資料型別筆記,理論實戰齊飛

dict。update()

dict。update(dict1) 把字典 dict1 的 key/value 對更新到 dict 裡,當 dict1 的 key 出現在 dict 中則修改 dict 中的值,如果 key 沒有出現在 dict 中,則新增這一對 key/value

硬核!清華教授分享教科書般的Python資料型別筆記,理論實戰齊飛

dict。values()

values()

返回一個檢視物件,值為字典的

value

,可將其轉換成列表

硬核!清華教授分享教科書般的Python資料型別筆記,理論實戰齊飛

dict。pop() & dict。popitem()

dict。pop() 刪除指定

key

key/value

,如果

key

沒有找到,則報錯

popitem()

刪除字典中末尾的元素,並返回一個元組的(鍵,值)對。字典為空則報錯

硬核!清華教授分享教科書般的Python資料型別筆記,理論實戰齊飛

set(集合)

set。add()

向集合中新增一個元素,但如果該元素已經出現在集合中,則不起作用

注:如果add的元素已經在集合中 集合不會發生變化

硬核!清華教授分享教科書般的Python資料型別筆記,理論實戰齊飛

set。clear()

clear()

移除集合中的所有元素

硬核!清華教授分享教科書般的Python資料型別筆記,理論實戰齊飛

set。difference() & set。difference_update()

difference() 返回多個集合的差集,通俗來講就是返回第一個 set 中哪些元素沒有在其他 set 中出現

difference_update() 方法與 difference() 方法的區別在於 difference() 方法返回一個移除相同元素的新集合,而 difference_update() 方法是直接移除原集合中的元素,無返回值

硬核!清華教授分享教科書般的Python資料型別筆記,理論實戰齊飛

set。discard()

discard()

刪除集合中指定的元素。如果指定移除的元素不在集合中,則不移除

硬核!清華教授分享教科書般的Python資料型別筆記,理論實戰齊飛

set。intersection() & set。intersection_update()

intersection() 返回集合的交集。沒有交集則返回空集 set()

intersection_update() 方法與 intersection() 方法的區別在於 intersection() 方法將集合的交集作為新集合返回,而 intersection_update() 方法是直接修改原集合中的元素,只保留交集元素,無返回值。

硬核!清華教授分享教科書般的Python資料型別筆記,理論實戰齊飛

set。isdisjoint()

isdisjoint()

判斷兩個集合是否包含相同的元素,有則返回

False

,無則返回

True

硬核!清華教授分享教科書般的Python資料型別筆記,理論實戰齊飛

set。issubset()&set。issuperset()

issubset(set1) 判斷集合 set2 是否為 set1 集合的子集。是則返回 True,否則返回 False

issuperset(set2) 判斷集合 set2 是否為 set1 集合的子集。是則返回 True,否則返回 False。它與 issubset() 用法相同,只有引數的位置相反而已

硬核!清華教授分享教科書般的Python資料型別筆記,理論實戰齊飛

set1。pop()&set。remove()

pop()

移除並返回集合中的任意元素。如果該集合為空集則報錯

remove()

從集合中移除指定的元素,如果該元素不在集合中,則發生報錯

硬核!清華教授分享教科書般的Python資料型別筆記,理論實戰齊飛

set。symmetric_difference()&set。symmetric_difference_update()

symmetric_difference() 返回兩個集合中不重複的元素集合,即兩個集合的補集,與 ^ 的作用相同

symmetric_difference_update(set2) 移除 set1 中在 set2 相同的元素,並將 set2 集合中不同的元素插入到 set1 中。簡單來說就是把 set1 與 set2 的補集賦值給 set1

硬核!清華教授分享教科書般的Python資料型別筆記,理論實戰齊飛

set。union()

union()

返回多個集合的並集。與

|

的作用相同

硬核!清華教授分享教科書般的Python資料型別筆記,理論實戰齊飛

set。update()

update()

使用本身和其他的聯合來更新集合

硬核!清華教授分享教科書般的Python資料型別筆記,理論實戰齊飛

好啦,今天的文章就到這裡了,希望能夠幫助到螢幕前迷茫的你們