【发布时间】:2017-10-20 14:43:01
【问题描述】:
我正在使用 discord.py 库构建一个不和谐机器人 - 因此,所有用户交互都必须在协程中进行,使用 async 定义并使用 await 调用。
我的一个函数需要保存状态变量——计算中使用的时间偏移量,偶尔需要用户手动更新。
我不能在主线程中使用普通的全局变量——协程看不到它们。在多个协程之间保留状态变量的明智设计模式是什么?
【问题讨论】:
标签: python global-variables coroutine
我正在使用 discord.py 库构建一个不和谐机器人 - 因此,所有用户交互都必须在协程中进行,使用 async 定义并使用 await 调用。
我的一个函数需要保存状态变量——计算中使用的时间偏移量,偶尔需要用户手动更新。
我不能在主线程中使用普通的全局变量——协程看不到它们。在多个协程之间保留状态变量的明智设计模式是什么?
【问题讨论】:
标签: python global-variables coroutine
也许你可以使用字典。例如:
x = {the name of the member:[stored variables]}
你可以改变变量:
x[variable u want to change] = variable u want to give it
【讨论】:
您可以创建自己的线程安全类来包装状态并像内存数据存储一样使用它
【讨论】: