Class 网格化数据:"read_from_file" 方法放在哪里?
Class with gridded data: Where to put "read_from_file" method?
我想在 Python 中创建一个 class,其名称类似于 "MeteoGrid"。它应该能够从 netCDF 文件中读取数据。
现在阅读功能应该放在哪里?
如果我把它放在 class 中并使它成为一个方法,它也可以是一个 @staticmethod (只将文件路径作为参数),因此如果我正确地得到它,那么它在那个地方有点 "bad practice" .我应该把它放在 init() 中,完全在同一个模块中的 class 之外,还是放在其他地方?
我是这类东西的新手,可能有点迷茫...在此先感谢您的帮助!
如评论中所述:
如果您需要一个文件供 class 使用,构造函数是最好的地方。
这是一个简单的例子:
class MeteoGrid(object):
def __init__(self, netcdf_filename):
# read the data
with open(netcdf_filename, 'r') as f:
self.file_content = f.read()
o = MeteoGrid('filename.txt')
我想在 Python 中创建一个 class,其名称类似于 "MeteoGrid"。它应该能够从 netCDF 文件中读取数据。
现在阅读功能应该放在哪里? 如果我把它放在 class 中并使它成为一个方法,它也可以是一个 @staticmethod (只将文件路径作为参数),因此如果我正确地得到它,那么它在那个地方有点 "bad practice" .我应该把它放在 init() 中,完全在同一个模块中的 class 之外,还是放在其他地方?
我是这类东西的新手,可能有点迷茫...在此先感谢您的帮助!
如评论中所述:
如果您需要一个文件供 class 使用,构造函数是最好的地方。
这是一个简单的例子:
class MeteoGrid(object):
def __init__(self, netcdf_filename):
# read the data
with open(netcdf_filename, 'r') as f:
self.file_content = f.read()
o = MeteoGrid('filename.txt')