日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

python一个函数调用另一个函数_在Python中将函数作为另一个函数的参数传入并调用的方法...

發(fā)布時間:2023/12/2 python 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python一个函数调用另一个函数_在Python中将函数作为另一个函数的参数传入并调用的方法... 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

在Python中,函數(shù)本身也是對象,所以可以將函數(shù)作為參數(shù)傳入另一函數(shù)并進行調(diào)用

在舊版本中,可以使用apply(function, *args, **kwargs)進行調(diào)用,但是在新版本中已經(jīng)移除,以function(*args, **kwargs)進行替代,所以也不應該再使用apply方法

示例代碼:

def func_a(func, *args, **kwargs):

print(func(*args, **kwargs))

def func_b(*args):

return args

if __name__ == '__main__':

func_a(func_b, 1, 2, 3)

在代碼中,將函數(shù)func_b作為函數(shù)func_a的參數(shù)傳入,將函數(shù)func_b的參數(shù)以元組args傳入,并在調(diào)用func_b時,作為func_b的參數(shù)。

運行結(jié)果:

(1, 2, 3)

但是這里存在一個問題,但func_a和func_b需要同名的參數(shù)時,就會出現(xiàn)異常,如:

def func_a(arg_a, func, **kwargs):

print(arg_a)

print(func(**kwargs))

def func_b(arg_a):

print(arg_a)

if __name__ == '__main__':

func_a(arg_a='Hello Python', func=func_b)

異常信息:

TypeError: func_b() missing 1 required positional argument: 'arg_a'

雖然通過修改,手動將arg_a作為參數(shù)傳入func中進行調(diào)用,可以正常運行,但這明顯不符合設計初衷:在func_a中執(zhí)行func(**kwargs)時,很可能并不知道func到底需要什么參數(shù)。換句話說,如果已經(jīng)提前知道需要調(diào)用什么函數(shù),那完全不必要把函數(shù)作為參數(shù)傳入另一個函數(shù)并調(diào)用,直接調(diào)用函數(shù)即可。

def func_a(arg_a, func, **kwargs):

print(arg_a)

func(arg_a=arg_a, **kwargs)

def func_b(arg_a):

print(arg_a)

if __name__ == '__main__':

func_a(arg_a='Hello Python', func=func_b)

當加入第三個函數(shù),func_c,它不需要arg_a這個參數(shù)時,就會出現(xiàn)問題。

def func_a(arg_a, func, **kwargs):

print(arg_a)

func(arg_a=arg_a, **kwargs)

def func_b(arg_a):

print(arg_a)

def func_c():

print('Hello World')

if __name__ == '__main__':

func_a(arg_a='Hello Python', func=func_b)

func_a(arg_a='Hello Python', func=func_c)

以上這篇在Python中將函數(shù)作為另一個函數(shù)的參數(shù)傳入并調(diào)用的方法就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。

總結(jié)

以上是生活随笔為你收集整理的python一个函数调用另一个函数_在Python中将函数作为另一个函数的参数传入并调用的方法...的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。