How to check for a function type in Python?

后端 未结 4 1010
-上瘾入骨i
-上瘾入骨i 2021-01-13 05:51

I\'ve got a list of things, of which some can also be functions. If it is a function I would like to execute it. For this I do a type-check. This normally works for other ty

4条回答
  •  孤城傲影
    2021-01-13 06:06

    Because function isn't a built-in type, a NameError is raised. If you want to check whether something is a function, use hasattr:

    >>> hasattr(f, '__call__')
    True
    

    Or you can use isinstance():

    >>> from collections import Callable
    >>> isinstance(f, Callable)
    True
    >>> isinstance(map, Callable)
    True
    

提交回复
热议问题