所以我正在制作一个python程序来跟踪主题上的mqtt连接,这样我就可以拥有一个连接仪表板。{}然后把它传递到一个函数中,这样我就可以修改它了。你知道吗
我已经知道我可以通过声明变量为global
来生成它,但是根据我的经验,声明事物为global
是要不惜一切代价避免的,所以我想知道是否还有其他方法。你知道吗
(为了可读性,代码被删节)
def process_message(client, userdata, message):
global connected_list
# mess around with it and exit the callback
if __name__ == "__main__":
connected_list = []
# set up the mosquitto client and then
client.on_message = process_message
# tell it to subscribe and connect and then
client.loop_forever()
基本上我知道可以用global
来完成,但是如果可能的话我很想避免。有人有什么想法吗?你知道吗
谢谢!你知道吗
编辑
感谢大家的帮助,我混合了这两个建议,现在有了一个包含列表和锁的类,所以我可以在操作列表时轻松地锁定和解锁列表。你知道吗
您可以尝试将所有回调作为方法放在一个类中。然后状态可以是在
__init__
中初始化的变量,而不是全局变量。这大大提高了代码的可重用性。你知道吗相关问题 更多 >
编程相关推荐