如何解决如何从Python中的回调函数更新类实例属性?
我正在研究使用Python的优化技术,因为唯一参数集的数量很高,所以我试图使用tqdm状态栏对象来跟踪已完成的参数计算的数量。但是,我发现很难从我正在使用的回调函数中更新tqdm状态栏。我试图为tqdm对象使用“全局”变量实例化,也试图在我创建的类中使用return,而不是将tqdm对象作为属性。由于回溯会引发名称错误,因此它们似乎都无法正常工作:名称“ tqdm_object未定义”。我的代码结构如下:
if __name__=="__main__":
class_instance = Main_Class()
class_instance.build_params(--lists of variables--)
# global tqdm_object
tqdm_object = class_instance.status_bar()
class_instance.callback(some_function)
class Main_Class:
def status_bar(self):
return tqdm(desc='Optimization Runs',total=10000,smoothing=0.5,position=0,leave=False)
# self.tqdm_bar = tqdm(desc='Optimization Runs',leave=False)
def some_function(**params):
--some calculations and saving results--
tqdm_object.update()
既不能使用global,也不能访问self.tqdm_bar(即从some_function()内部访问class_instance.tqdm_bar.update())。有没有办法可以在Python中做到这一点?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。