Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/307.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/python-2.7/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 可以将函数传递到对象';s方法作为参数,哪个可以引用该对象?_Python_Python 2.7_Functional Programming_Self_Function Object - Fatal编程技术网

Python 可以将函数传递到对象';s方法作为参数,哪个可以引用该对象?

Python 可以将函数传递到对象';s方法作为参数,哪个可以引用该对象?,python,python-2.7,functional-programming,self,function-object,Python,Python 2.7,Functional Programming,Self,Function Object,我希望我的函数能够引用我的对象。本质上类似于延迟self,意思是“无论我在什么对象中,请参考该对象”您可以使用模块 def my_func(): stuff return something my_object.my_method(my_func) 但是,我想更简单的方法是将实例作为参数传递,例如 import inspect def my_func(): stuff my_object = inspect.stack()[1][0].f_locals["s

我希望我的函数能够引用
我的对象
。本质上类似于延迟
self
,意思是“无论我在什么对象中,请参考该对象”

您可以使用模块

def my_func():
    stuff
    return something

my_object.my_method(my_func)
但是,我想更简单的方法是将实例作为参数传递,例如

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)