У меня есть функция в Python, которая перебирает атрибуты, возвращаемые из dir (obj), и я хочу проверить, является ли какой-либо из объектов, содержащихся внутри, функцией, методом, встроенной функцией и т. Д. Обычно вы можете использовать callable () для этого, но я не хочу включать классы. Лучшее, что я придумала до сих пор:
isinstance(obj, (types.BuiltinFunctionType, types.FunctionType, types.MethodType))
Есть ли более вероятный способ сделать эту проверку?
Редактировать: Я неправильно говорил раньше, когда говорил: «Обычно вы можете использовать callable () для этого, но я не хочу дисквалифицировать классы». Я на самом деле делаю хочу дисквалифицировать классы. Я хочу сопоставить только функции, а не классы.