Python-Context(上下文)
用途:用于被管理器管理的类,获取其他被管理的类的数据以及方法。
例如
//
import weakref
class Context():
def __init__(self):
self.Mgr = Mgr(self)
self.Mgr.setClass1func()
def getMgr(self)//获取类管理器
return self.Mgr
class Mgr()
def __init__(self, Context)
self.context = weakref.ref(Context)//此时已经拿到了管理器的引用,就可以调用被管理器管理的其他类的数据了
self.class1 = Object1()
self.class2 = Object2()
def setClass1func(self)
self.class1.getMgr(self.context())//此时class1已经获取了类管理器Mgr,也就可以调用class2的方法以及数据了
class Object1()
def getMgr(Context):
Mgr = Context.getMgr()//这个地方必须是Context的init已经执行完才能执行这句
Mgr.class2.func()
class Object2()
def func(self)
print("我是二号类方法")
context = Context()
代码执行顺序: