我正在尝试访问一个类的实例(称为“a”),该实例被传递给第二个类(称为“b”)。我的意图是通过装饰实例 b 的类来访问实例 'a',以便我可以在 'a' 上设置一些后台线程任务,同时仍然使用 'b' 执行其他更重要的任务。这可能吗?
import threading
import inspect
Class doStuff():
def __init__(self, somePropertyFromAnotherClass):
self.lock = threading.Lock()
self.prop = somePropertyFromAnotherClass
def doCoolThreadingStuff():
print("do threading stuff with {}".format(self.prop))
def someDecorator(cls):
def wrapper(cls):
print(inspect.getrgspec(cls.__init__))
#ds = doStuff() ## this is the bit that i can't figure out!
wrapper(cls)
return cls
Class A():
def __init__(self):
self.obj = "i'm an object"
@someDecorator
Class B():
def __init__(self, obj):
self.obj = obj
def doSomethingWithObj():
print('doing something with obj')
if __name__ == "__main__":
a = A()
b = B(a)
装饰器格式错误
def someDecorator(cls_obj):
def wrapper(*args):
ds = doStuff(args[0]) # positional : /
ds.doCoolThreadingStuff()
return cls_obj(*args)
return wrapper
我可以使用上面的装饰器定义来访问 A 类的实例(传递给 B 类)
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句