【发布时间】:2017-09-16 00:50:33
【问题描述】:
假设我需要将传入数据写入云上的数据集。 何时、何地以及是否需要代码中的数据集,取决于传入的数据。 我只想获得一次对数据集的引用。 实现这一目标的最佳方法是什么?
-
启动时初始化为全局变量,通过全局变量访问
if __name__="__main__": dataset = #get dataset from internet
这似乎是最简单的方法,但它会初始化变量,即使它从不需要。
-
第一次需要数据集时获取引用,保存在全局变量中,使用
get_dataset()方法访问dataset = None def get_dataset(): global dataset if dataset is none dataset = #get dataset from internet return dataset -
第一次需要数据集时获取引用,保存为函数属性,通过
get_dataset()方法访问def get_dataset(): if not hasattr(get_dataset, 'dataset'): get_dataset.dataset = #get dataset from internet return get_dataset.dataset 任何其他方式
【问题讨论】:
标签: python initialization global-variables function-attributes