检查对象是否可调用

问题描述 投票:0回答:2

我想知道一个对象是否可调用。

我知道

type()
会返回
<class 'method'>
。但我不知道如何检查(例如使用
isinstance()
)。

python callable
2个回答
87
投票

使用内置

callable()

>>> callable(open)
True
>>> print(callable.__doc__)
callable(object) -> bool

Return whether the object is callable (i.e., some kind of function).
Note that classes are callable, as are instances with a __call__() method.

努力掌握此处列出的至少 90% 的内置函数是一项巨大的投资:https://docs.python.org/3/library/functions.html


23
投票

如果您必须使用

isinstance
,您可以检查
Callable
(Python ≥ 3.5):

from typing import Callable
obj = lambda x: x + 1
isinstance(obj, Callable)
>>> True
obj = 42
isinstance(obj, Callable)
>>> False
© www.soinside.com 2019 - 2024. All rights reserved.