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