在Python中,判斷一個對象是否是函數(shù)有如下三種方法。
根據(jù)“__call__”屬性判斷
有時候用python就有這么一種感悟,各種鉤子函數(shù)就是通過內(nèi)置的“__”屬性實現(xiàn),python學(xué)得好不好,就是對“__”屬性理解得透徹不透徹。
python函數(shù)在調(diào)用時,一定會首先調(diào)用其相關(guān)“__call__”函數(shù)(沒有空格)。
padd=lambdaa,b:a+b
#判斷成功
if(hasattr(add,'__call__')):
printadd(1,2)
利用callable判斷
這是一個據(jù)傳快要廢棄的方法,但是在Python2中依舊很好用,如下:
#判斷成功
if(callable(add)):
printadd(2,2)
利用isfunction進行判斷
Python的inspect模塊包含了大量的與反射、元數(shù)據(jù)相關(guān)的工具函數(shù),isfunction就是其中一種,使用方法如下:
frominspectimportisfunction
#判斷成功
if(isfunction(add)):
printadd(5,5)
以上內(nèi)容為大家介紹了python培訓(xùn)之判斷是否為函數(shù),希望對大家有所幫助,如果想要了解更多Python相關(guān)知識,請關(guān)注IT培訓(xùn)機構(gòu):千鋒教育。