小编Dha*_*ene的帖子

如何区分函数和类方法?

如果一个变量指的是一个函数或一个类的方法,我怎么能找到它是哪一个,并得到了类类型的情况下,特别是当类仍然被宣布为在给定的例子一个类的方法.

例如.

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)
Run Code Online (Sandbox Code Playgroud)

在David和JF Sebastian的前两个回复之后更新问题 为了再次强调JF Sebastian提到的一个观点,我希望能够在类中声明函数时区分它(当我得到的类型是函数时而不是绑定或未绑定的方法).即.在第一次调用get_info(__init__)发生的地方,我希望能够检测到它的方法被声明为类的一部分.

这个问题出现了,因为我在它周围放了一个装饰器,它获得了init函数的句柄,我实际上无法弄清楚方法是在一个类中声明还是作为一个独立的函数

python reflection metaprogramming

6
推荐指数
3
解决办法
1784
查看次数

标签 统计

metaprogramming ×1

python ×1

reflection ×1