Python函式筆記

2021-08-20 20:28:52 字數 2362 閱讀 9904

引數:必選引數、預設引數、可變引數/命名關鍵字引數和關鍵字引數

*nums表示把nums這個list的所有元素作為可變引數傳進去。這種寫法相當有用,而且很常見

*轉元組

**轉字典

1必需引數(必選引數):

須以正確的順序傳入函式。呼叫時的數量必須和宣告時的一樣

2預設引數:

呼叫函式時,如果沒有傳遞引數,則會使用預設引數(預設值 直接賦值的)

可以不指定引數名,但是順序要保證,否則要指定引數名

3不定長引數 *:

也是可變引數,允許你傳入0個或任意個引數,這些可變引數在函式呼叫時自動組裝為乙個元組

如果使用時不傳引數,輸出為空元組

定義可變引數和定義乙個list或tuple引數相比,僅僅在引數前面加了乙個*號。

但是,呼叫該函式時,可以傳入任意個引數,包括0個引數:

如果已經有乙個list或者tuple,要呼叫乙個可變引數怎麼辦?

所以python允許你在list或tuple前面加乙個*號,把list或tuple的元素變成可變引數傳進去:

4關鍵字引數**: (鍵值對的形式)

使用關鍵字引數允許函式呼叫時引數的順序與宣告時不一致

關鍵字引數允許你傳入0個或任意個含引數名的引數,這些關鍵字引數在函式內部自動組裝為乙個字典

輸出引數變成字典,傳參必須是健值對的形式,多個引數會在乙個字典形式輸出

5命名關鍵字引數:取到字典裡指定得健的值,

注: 在python中定義函式,可以用必選引數、預設引數、可變引數、關鍵字引數和命名關鍵字引數,

這5種引數都可以組合使用,除了可變引數無法和命名關鍵字引數混合。

但是請注意,引數定義的順序必須是:必選引數、預設引數、可變引數/命名關鍵字引數和關鍵字引數。

return [表示式] 結束函式,選擇性地返回乙個值給呼叫方。可以返回多個值,返回的多個值組成乙個元組,

返回值加上一對中括號,則返回乙個列表不帶表示式的return相當於返回 none。

匿名函式:沒有名字 函式體簡單 

使用 lambda 來建立匿名函式,他是乙個表示式」 : 「後面,只能有乙個表示式,def則可以有多個像if或for或print等語句不能用於lambda中,def可以。

語法格式:變數名=lambda 引數名(可以有多個):表示式

map()迴圈:

map(函式,序列,可以和range使用)把序列中的值當引數逐個傳給函式。

如果函式中有兩個引數,即可兩個序列,並把結果作為新的list返回。

filter() 過濾

filter(函式名,序列,可以和range使用)對列表中的專案依次執行函式

將執行結果為true的專案組成乙個list/string/tuple(取決於序列的型別)返回。

reduce統計/ 需要匯入  (函式,引數有兩個:條件語句)還可以接收第3個可選引數(函式,序列)

函式的引數只能有兩個,先把序列中第乙個值和第二個值當引數傳給函式,

再把函式的返回值和第三個值當引數傳給函式,然後只返回乙個結果。

reduce()函式接收的引數和 map()類似,乙個函式 f,乙個list,但行為和 map()不同,

reduce()傳入的函式 f 必須接收兩個引數,reduce()對list的每個元素反覆呼叫函式f,

先計算序列裡的頭兩個, 在和第三個計算,依次類推並返回最終結果值。

python內建了求和函式sum(),但沒有求積的函式,請利用reduce()來求積:

自定義排序函式:

sorted()函式 :sorted(迭代物件,函式,key,排序規則)

iterable -- 可迭代物件。

cmp -- 比較的函式,這個具有兩個引數,引數的值都是從可迭代物件中取出,此函式必須遵守的規則為,大於則返回1,小於則返回-1,等於則返回0。

key -- 主要是用來進行比較的元素,只有乙個引數,具體的函式的引數就是取自於可迭代物件中,指定可迭代物件中的乙個元素來進行排序。

reverse -- 排序規則,reverse = true 降序 , reverse = false 公升序(預設)。

它可以接收乙個比較函式來實現自定義排序,比較函式的定義是,傳入兩個待比較的元素 x, y,

如果 x 應該排在 y 的前面,返回 -1,如果 x 應該排在 y 的後面,返回 1。如果 x 和 y 相等,返回 0。

可以對字串進行排序,按照ascii大小來比較

.sort()排序方法:sort(函式,key,排序規則)

.sorted()和sort()的區別:

sort 是應用在 list 上的方法,sorted 可以對所有可迭代的物件進行排序操作。

sort :對原有列表進行排序,改變原來列表的順序,無返回值

sorted:序時不影響原資料,產生新的排序資料,還是原結果

python函式筆記

絕對值函式abs 比較函式cmp 定義函式 def 函式名 引數 函式體return 填寫返回值。例 def my abs x if x 0 return x elif return x檢查資料型別的函式isinstance,例 isinstance 1,int 會返回true 函式的引數 預設引數...

python實用函式筆記

dir obj 顯示物件的屬性,如果沒有提供引數,則顯示全域性變數的名字 help obj 以一種整齊美觀的形式,顯示物件的文件字串,如果沒有提供任何引數,則會進入互動式幫助 int obj 將乙個物件轉換為整形 len obj 返回對像的長度 open fn,mode 以mode r 讀,w 寫 ...

python內建函式筆記

dir builtins 可以列出所有內建函式和內建物件。可以使用help 函式名 檢視某個函式的用法,不需要匯入函式就可以檢視某個函式的幫助文件。help math 可以匯入sys模組後使用print sys.builtin module names 檢視所有內建模組名稱。也可以 使用help m...