我有一个python类,它需要引用一个大的数据集。我需要创建类的数千个实例,这样我就不想每次都加载数据集。将数据放入另一个必须首先创建并作为参数传递给另一个类的方法很简单:
class dataset():
def __init__(self, filename):
# load dataset...
class Class_using_dataset():
def __init__(self, ds)
# use the dataset and do other stuff
ds = Dataset('file.csv')
c1 = Class_using_dataset(ds)
c2 = Class_using_dataset(ds)
# etc...
但我不希望我的用户必须处理数据集,因为如果我可以在后台处理它,它总是同一个数据集。在
当我创建类的第一个实例时,是否有一种python/canonical方法将数据加载到全局命名空间中?我希望有这样的东西:
^{pr2}$
您可以在解析
Class_using_dataset
类时,或者当用户创建该类的第一个实例时,将数据集加载到类变量中。在第一种策略只需要将加载数据集的行移到类本身中。在
^{1}$对于第二种方法,将
^{pr2}$None
分配给类变量,并且只在ds
为None
的情况下,在__init__
方法中加载数据集。在如果数据集在类的所有实例之间共享,则将其作为类变量。在
^{1}$相关问题 更多 >
编程相关推荐