我怎样才能知道,如果一个类的实例方法和功能是一样的吗?我怎样才能知道,如果一个函数和类实例方法是一样的吗?
我有使用装饰的简单类:
@decorate_class
class Hello:
@decorate_func
def world(self):
return
这些都是我的装饰:
# A global variable
global_func = None
def decorate_func(func):
global_func = func
return func
def decorate_class(clazz):
print clazz.__dict__["world"] == global_func
return clazz
以上的回报False
,可能是因为type(func)
在decorate_func
是function
,但在decorate_class
它是instancemethod
。但是,他们都打印给我:
<function world at 0x7f490e59ce60>
如同,相同的内存地址。我如何比较它们以知道它们是相同的功能?通过内存地址比较安全(和正确)?
至少'全球global_func'在decorate_func)缺失( – jfs
我愚蠢的错误,另外一个。非常感谢你,先生:) –