如何判断 callable 隐含参数 self 是自己?

2020-05-29 11:23:12 +08:00
 anzu
class Worker:
    def work(self, callback: Callable):
        # 如何判断 callback 隐含参数 self 是自己?
        pass

    def rest(self):
        pass


def todo():
    worker = Worker()
    worker.work(worker.rest)


1868 次点击
所在节点    Python
2 条回复
anzu
2020-05-29 11:35:48 +08:00
我懂了,这样
if getattr(callback, '__self__', None) is self:
print('callback is self')
ranleng
2020-05-29 11:38:59 +08:00
不知道对不对.

Worker().work 的 __class__ 是 method
todo 的 __class__ 是 function

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/676605

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX