如何解决如何从类中的异步函数访问实例变量 (Python)
在完成我的脚本时,我很难完成获取计算变量以进行分析的脚本;我在下面做了一个简单的实现,它在高层次上代表了我的真实脚本,并且在脚本完成后没有获得计算变量的相同问题。谁能帮忙看看我在这个设置上可能做错了什么?
import asyncio
class example:
def __init__(self,A,B,C):
self.A = A
self.B = B
self.C = C
def initialization(self):
print("Init")
async def stream(self):
print("stream 1")
self.A = "A"
return self.A
async def stream2(self):
print("stream 2")
self.B = "B"
return self.B
async def main():
obj = example(A=None,B=None,C=None)
obj.initialization()
await obj.stream()
return obj
asyncio.run(main())
>>>obj.A
终端返回以下似乎正确的内容。
Init
stream 1
我在尝试访问计算变量时收到的错误如下:
---------------------------------------------------------------------------
NameError Traceback (most recent call last)
<ipython-input-52-6df9ad5a9be5> in <module>
----> 1 obj.A
NameError: name 'obj' is not defined
我是 python 类的新手,当我不在类中使用 Asyncio 时,我可以获得实例变量,但对于我的实际项目,我需要使用 Asycnio 来流式传输 websocket;异步是这里的问题吗?我可以让事件循环在我的脚本中关闭并完成,但我无法从每个方法中获取计算出的变量。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。