Python 中的常用內建函式 基礎篇

2021-10-03 14:48:48 字數 4402 閱讀 3689

思維導圖

(1)再談生成器

生成器本質是迭代器

獲取生成器的方法:生成器函式,生成器表示式,通過資料轉化

生成器函式,函式內部有yield,執行這個函式獲取的是生成器

next(),可以觸發生成器的執行,執行到下乙個yield

特點:惰性機制,只能向前執行,節省記憶體

(2)再談推導式

沒有元組推導式,元組推導式其實是生成器表示式(結果 for 判斷)

列表推導式 [結果 for 判斷]

字典推導式

集合推導式

(3)常用內建函式(基礎資料型別相關)

和數字相關

bool() 轉化為布林型

int() 轉化為整形

float() 轉化為浮點型,小數

complex() 轉化成複數a+bi,a是實部,b是虛部

bin() 將十進位制轉二進位制0b

oct() 將十進位制轉八進位制0o

hex() 將十進位制轉十六進製制0x

abs() 求絕對值

divmod(a,b) 計算商和餘數返回(商,餘數)

round() 四捨五入

pow(a,b) a的b次冪入,如果再加個引數會取餘

sum(可迭代物件,數值) 求迭代物件加上數值的和,數值預設為0

min(數值組) 求數值組最小值

max(數值組)求數值組最大值

2)和資料結構相關

list() 轉成列表

map() 分而制之

tuple() 轉成元組

reversed() 翻轉,返回迭代器,想得到翻轉後的列表需要將迭代器轉化成列表

slice(a,b,c) 切片

str() 字串轉化

bytes() 轉化成位元組

bytearry() 返回乙個新位元組陣列,這個陣列的元素是可變的,並且每個元素的值範圍是(0,256)

memoryview() 檢視bytes在記憶體中的情況

ord() 輸入字元,找字元對應的數字編碼

chr() 輸入數字編碼,找數字對應的字元

ascii() 是ascii碼中的就返回該值,不是就返回\u…

repr() 原樣輸出字串

frozenset() 轉換成不可變的列表

len() 返回字串,列表等長度

enumerate() 以元組形式返回索引和元素(i,ele)

all(可迭代) 用and連線所有元素,返回true或者false

any(可迭代) 用or連線所有元素,返回true或者false

repr() 返回乙個物件的字串形式字,意為原樣輸出字串

#原樣輸出

print

(r''

)

format() 格式化輸出

#字串操作

format

(s,'^20'

)#將s(字串)拉長到20,然後居中對齊

format

(s,'>20'

)#將s(字串)拉長到20,然後向右對齊

format

(s,'<20'

)#將s(字串)拉長到20,然後向左對齊

#數值操作

format

(int

,'b'

)#轉化成二進位制

format

(int

,'c'

)#轉化成unicode字元

format

(int

,'d'

)#轉化成十進位制

format

(int

,'n'

)#轉化成十進位制

format

(int

)#轉化成十進位制

format

(int

,'o'

)#轉化成八進位制

format

(int

,'x'

)#轉化成十六進製制(小寫字母)

format

(int

,'x'

)#轉化成十六進製制(大寫字母)

#浮點數操作

format

('數值型別'

,'e'

)#科學計數法,預設保留6位小數

format

('數值型別'

,'0.2e'

)#科學計數法,保留2位小數(小寫e)

format

('數值型別'

,'0.2e'

)#科學計數法,保留2位小數(大寫e)

format

('數值型別'

,'f'

)#小數點計數法,預設保留6位小數

format

('數值型別'

,'0.2f'

)#小數點計數法,保留2位小數

format

('數值型別'

,'0.10f'

)#小數點計數法,保留10位小數

#另一種寫法

','.

format

('要格式話的數值1'

,'要格式話的數值2'

)#例如

','.

format(1

,1)#第乙個用小數點計數法,保留兩位,第二個用科學計數法,保留2位小數(小寫e)

以上操作返回的均為字串形式(

str)

zip() 壓縮列表,返回乙個可迭代物件(生成器或迭代器)

lst1=

['a'

,'b'

,'c'

]lst2=

['a'

,'b'

,'c'

]lst3=

['1'

,'2'

,'3'

]ls=

zip(lst1,lst2,lst3)

#遵循水桶效應,按照最短的列表長度進行壓縮

print

(list

(ls)

)#按每個列表的位置進行壓縮,每項壓縮成元組型別可迭代物件

#輸出[('a', 'a', '1'), ('b', 'b', '2'), ('c', 'c', '3')]

(4)常用內建函式(迭代器生成器相關)

range(a,b,s) 返回從a到b,每隔s個取乙個的數列,不包含b

next() 觸發生成器的執行,執行到下乙個yield,內部封裝的就是__next__()

iter() 獲取迭代器,內部封裝的就是__iter__()

(5)常用內建函式(作用域相關)

globals() 函式以字典型別返回全部全域性變數

locals() 函式以字典型別返回當前位置全部區域性變數

(6)常用內建函式(反射相關)

(7)常用內建函式(物件導向相關)

(8)常用內建函式(其他)

input() :輸入 print():輸出

hash():返回雜湊值 id():返回id位址

#雜湊的目的是為了儲存,盡量的不重複,(字典資料)特點是查詢快,但是佔記憶體

open(檔案路徑 ,開啟方式,編碼) 檔案操作相關

import() 匯入模組

help() 幫助

callable() 呼叫相關

dir() 檢視內建屬性

eval(『表示式』) 只能執行乙個字串表示式或者簡單的表示式,返回表示式值

c=

'1+2'

res=

eval

(c)#動態執行乙個**片段,側重點在返回值上,返回執行後的結果

print

(res)

#返回3

#eval(),可以還原字串形式的列表和字典等資料型別如

srt=

""dic=

eval

(str)

print

(dic)

#輸出

exec(『字串**塊』) 可以執行相對複雜的**段,沒有返回值

#execute 執行

s='a=10'

#支援input()

exec

(s)print

(a)#輸出10

compile(『**片段』 『存放**的檔名』, eval或者exec或者single) ,先編譯再執行

#如果第乙個位置給了**片段,第二個位置就不用寫檔名

s="for i in range(10):print(i)"

c=compile

(s,''

,'exec'

)#用什麼模式,就用什麼模式執行注意:互動模式下用single,但是用exec執行

exec

(c)#執行編譯後的**片段

python中的常用內建屬性與內建函式

常用專有屬性常用專有屬性 說明觸發方式 init 構造初始化函式 建立例項後,賦值時使用,在 new 後 new 生成例項所需屬性 建立例項時 class 例項所在的類 例項.class str 例項字串表示,可讀性 print 類例項 如沒實現,使用repr結果 repr 例項字串表示,準確性 類...

python中內建函式 python常用內建函式

1.map函式 對指定序列對映到指定函式,返回結果集 a 1,3,5 b 2,4,6 def mf x,y return x y map none,a,b 1,2 3,4 5,6 map mf,a,b 2,12,30 list map lambda x,y x y,1,2,3 4,5,6 5,7,9...

python 常用的內建函式

filter function,sequence 對sequence 中的item 依次執行 function item 將執行結果為 true 的item 組成乙個 list string tuple 取決於 sequence 的型別 deff x returnx 2 0 printfilter ...