假设我需要将传入数据写入云上的数据集。何时、何地以及是否需要代码中的数据集,取决于传入的数据。我只想获得对数据集的一次引用。实现这一目标的最佳方法是什么?
在启动时初始化为全局变量并通过全局变量访问
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
任何其他方式