【发布时间】:2022-06-27 11:43:52
【问题描述】:
如何检查给定类的实例是否可调用?如果您实例化类然后使用callable(),这很容易做到。但我的问题是如何在不实例化的情况下进行检查。以Calendar 类为例:
>>> import calendar
>>> callable(calendar.Calendar())
False
我想做同样的事情但不实例化,即实现一些函数callable_class_instances() 这样:
>>> import calendar
>>> callable_class_instances(calendar.Calendar)
False
>>>
>>> class MyFunc:
... def __init__(self):
... print('Should not run on callable_class_instances call.')
... def __call__(self):
... print('MyFunc instance called.')
>>> callable_class_instances(MyFunc)
True
有没有什么看起来不像黑客的简单方法?
【问题讨论】:
标签: python class callable-object