是否可以将函数作为参数传递到对象的方法中,哪个参数可以引用该对象?

2024-10-02 20:39:51 发布

您现在位置:Python中文网/ 问答频道 /正文

def my_func():
    stuff
    return something

my_object.my_method(my_func)

我希望我的函数能够引用my_object。本质上类似于deferredself,意思是“无论我在什么对象中,都引用它”


Tags: 对象函数returnobjectmydefmethodsomething
2条回答

你想做一个callback

here是回调在设计模式中的用法

您可以使用^{}模块

import inspect

def my_func():
    stuff
    my_object = inspect.stack()[1][0].f_locals["self"]
    return something

不过,我想一个更简单的方法是将实例作为参数传递,例如

def my_func():
    stuff
    return something

my_object.my_method(my_func, caller=my_object)

相关问题 更多 >