【发布时间】:2018-08-25 22:53:56
【问题描述】:
假设我有一个类,该类有一个将函数作为参数的方法。有没有办法让这个函数改变类变量?
def f():
# something here to change MyClass.var
class MyClass:
def __init__():
self.var = 1
def method(self, func):
#does something
func()
obj = MyClass()
obj.method(f)
print(obj.var)
【问题讨论】:
-
将
self传递给func。 -
尝试调用 obj.method(f) 应该会抛出一个错误,说
expected 1 arguments, found 2,因为如果你说obj.<method>,python 期望相应的方法定义有一个self参数 -
已更正,谢谢
-
这个的用例是什么?
标签: python function oop variables