python判断是否为函数

python

在Python中,判断一个对象是否是函数有如下三种方法。

根据“__call__”属性判断

有时候用python就有这么一种感悟,各种钩子函数就是通过内置的“__”属性实现,python学得好不好,就是对“__”属性理解得透彻不透彻。

python函数在调用时,一定会首先调用其相关“__call__”函数(没有空格)。

padd = lambda a, b: a + b

#   判断成功

if(hasattr(add, '__call__')):

        print add(1,2)

利用callable判断

这是一个据传快要废弃的方法,但是在Python 2中依旧很好用,如下:

#   判断成功

if(callable(add)):

        print add(2, 2)

利用isfunction进行判断

Python的inspect模块包含了大量的与反射、元数据相关的工具函数,isfunction就是其中一种,使用方法如下:

from inspect import isfunction

#   判断成功

if(isfunction(add)):

    print add(5, 5)

以上是 python判断是否为函数 的全部内容, 来源链接: utcz.com/z/524199.html

回到顶部