Если переменная ссылается либо на функцию, либо на метод класса, как я могу узнать, какой это тип, и получить тип класса в случае, если это метод класса, особенно когда класс все еще объявляется, как в данном примере .
например.
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)
Обновление на вопрос после первых двух ответов Дэвида и Дж. Ф. Себастьяна
Чтобы еще раз подчеркнуть точку, на которую ссылался Дж. Ф. Себастьян, я хочу иметь возможность различить ее, когда функция объявляется в классе (когда тип, который я получаю, является функцией, а не связанным или несвязанным методом). то есть. где происходит первый вызов get_info(__init__)
, я хотел бы иметь возможность обнаружить, что это метод, объявленный как часть класса.
Этот вопрос возник, так как я помещаю декоратор вокруг него, и он получает дескриптор функции init , и я не могу понять, объявлен ли метод в классе или как автономная функция