gpt4 book ai didi

python - 如何在 Python 中跨模块共享数据(每分钟更新一次)?

转载 作者:太空宇宙 更新时间:2023-11-03 23:49:30 25 4
gpt4 key购买 nike

我在很多帖子中读到全局变量不好,但我需要它们!

我的情况:

我在专用模块中定义了几个变量,这些变量每分钟更新一次,并被应用程序中的其他模块使用。 (阅读 this 后实现),您认为这是一个好方法或需要任何改进或更好的想法吗?

谢谢

最佳答案

这听起来像是 pub/sub technique 的好地方,在那里你有对象观察变化。这在 GUI 之类的东西中很有用,当您需要在它显示的值发生变化时更新某些小部件。

一些非常简单的事情:

>>> class Widget(object):
def __init__(self, name, val):
self.name = name
self.val = val
def update(self, val):
self.val = val
print self.name, "changed to", self.val


>>> def update(updateables, val):
for u in updateables:
u(val)


>>> w1, w2 = Widget("Alpha", 5), Widget("Beta", 6)
>>> updateables = [w1.update, w2.update]
>>> update(updateables, 17)
Alpha changed to 17
Beta changed to 17

这个想法是值的“观察者”注册一个回调,只要该值发生变化就会调用它。

关于python - 如何在 Python 中跨模块共享数据(每分钟更新一次)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2914823/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com