考虑以下Python(在2.x或3.x中运行):
class Outer(object):
pass
class Inner(object):
def __init__(self):
print("Inner.self", self)
o = Outer()
i = o.Inner()
Run Code Online (Sandbox Code Playgroud)
我想o在里面亲自动手Inner.__init__().但:
o成为一个明确的参数Inner.O.Inner和o.Inner成为一个类的对象,不是很奇怪像关闭.你能建议我怎么做到这一点吗?
现在我最好的想法是使用线程本地存储.在我的用例中,每当我构造一个时o.Inner(),我已经在o某个地方的某个方法中,并且添加它不是什么大问题
threading.local()["my o object"] = o
Run Code Online (Sandbox Code Playgroud)
到我的代码.
这让您了解我愿意考虑的堕落程度.
python ×1