python的高階函式

2021-10-03 06:37:38 字數 1500 閱讀 4138

示例**:

def calc_num(new_func):

a = 1

b = 2

# 執行外界傳入過來的函式

result = new_func(a, b)

return result

def sum_num(num1, num2):

return num1 + num2

# 呼叫函式

result = calc_num(sum_num)

print(result)

def show():

# 在python裡面可以函式裡面在定義乙個函式

def print_info():

print("哈哈, 我是乙個子函式")

# 函式的返回值是乙個函式型別

return print_info

new_func = show()

print(new_func, type(new_func))

# 呼叫返回的函式

new_func()

reduce()根據函式對容器型別中每乙個資料進行計算.

計算列表中的累加和:

import functools

my_list = [1, 2, 3, 4, 5]

def f(x1, x2):

return x1 + x2

result = functools.reduce(f, my_list)

print(result)

輸出結果:

15
filter()根據函式對容器型別中資料進行過濾, 返回乙個 filter 物件, 如果要轉換為列表, 可以使用 list() 來轉換.

過濾列表中的偶數:

my_list = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

def f(x):

return x % 2 == 0

result = filter(f, my_list)

print(list(result))

輸出結果:

[2, 4, 6, 8, 10]
過濾列表中首字母為大寫的單詞:

my_list = ['edward', 'smith', 'obama', 'john', 'tom']

def f(x):

return x[0].isupper()

result = filter(f, my_list)

print(list(result))

輸出結果:

['smith', 'obama']

python 函式高階 python 函式高階

形參角度 萬能引數 動態接收位置引數 args 動態接收關鍵字引數 kwargs 的魔性用法 函式定義時 代表聚合。他將所有的位置引數 聚合成乙個元組,賦值給了args 函式定義時 將所有的關鍵字引數聚合成乙個字典中,將這個字典賦給了 kwargs 和 在函式的呼叫時 代表打散 僅限關鍵字引數 de...

Python高階 函式高階

閉包 closure 常規函式中可以在函式的引數中新增引數的預設值來簡化函式的操作,偏函式也可以做到這一點,而且會更加的方便管理函式的操作。通過內建模組functools的partial進行定義和處理 語法結構 新函式名稱 functools.partial 函式名稱,預設賦值引數 例如 全域性函式...

python 函式的高階

函式根據有沒有引數以及有沒有返回值,可以相互組合,一共有4 種組合形式 無引數,無返回值 無引數,有返回值 有引數,無返回值 有引數,有返回值 定義函式時,是否接收引數,或者是否返回結果,是根據實際的功能需求來決定的!如果函式內部處理的資料不確定,就可以將外界的資料以引數傳遞到函式內部 如果希望乙個...