【发布时间】:2021-04-13 19:59:07
【问题描述】:
假设我有这个类:
class Foo():
def foo_method(self):
pass
现在假设我有一个对象foo = Foo()。
我可以将foo.foo_method 作为参数传递给函数。
foo.foo_method.__qualname__ 返回表示方法“全名”的字符串:
"Foo.foo_method"。
如果我想从foo.foo_method 获取Foo 类本身怎么办?
我想出的解决办法是:
def method_class(method):
return eval(method.__qualname__.split(".")[0])
有没有更“肮脏”的方式来实现这一点?
【问题讨论】:
-
也许
dir(foo)或help(foo)打印其中一个并尝试 -
你看过
__self__的foo_method吗?