我想知道一个对象是否可调用。
我知道
type()
会返回<class 'method'>
。但我不知道如何检查(例如使用 isinstance()
)。
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
如果您必须使用
isinstance
,您可以检查Callable
(Python ≥ 3.5):
from typing import Callable
obj = lambda x: x + 1
isinstance(obj, Callable)
>>> True
obj = 42
isinstance(obj, Callable)
>>> False