如果变量引用函数或类方法,我如何找出它是哪一个并获取类类型,以防它是类方法,特别是当类仍如给定示例中那样声明时。
例如。
def get_info(function_or_method):
print function_or_method
class Foo(object):
def __init__(self):
pass
get_info(__init__)
def bar():
pass
get_info(bar)
在大卫和 JF 塞巴斯蒂安的前两个回复之后更新问题
为了再次强调 JF 塞巴斯蒂安提到的一点,我希望能够在类中声明函数时区分它(当我得到的类型是函数时)而不是绑定或未绑定的方法)。IE。第一次调用get_info(__init__)
发生的地方我希望能够检测到它的方法被声明为类的一部分。
出现了这个问题,因为我在它周围放置了一个装饰器,它获得了init函数的句柄,我实际上无法确定一个方法是在类中声明还是作为独立函数声明