pythonのクラスと継承の例

pythonのクラスの作成とクラスの継承の例。

クラスの作成

class nc4():
    def __init__(self):
        self.idata={}
        self.odata={}
    def show(self,fname):
        fi0=netCDF4.Dataset(fname,"r")
        for x in fi0.variables.keys():
            vname=x
            try:
                vunits=fi0.variables[x].units
            except:
                vunits="N/A"
            print("{0:<20} {1:<20}".format(vname,vunits))
    def read(self,fname,vlist):
        fi0=netCDF4.Dataset(fname,"r")
        for v in vlist:
            self.idata[v]=fi0.variables[v][:]

クラスの継承

class sflux(nc4):
    def write(self,fname,vlist,udic):
        fo0=netCDF4.Dataset(fname,"w")
        nt,ny,nx,=self.odata[vlist[0]].shape
        fo0.createDimension("time",nt)
        fo0.createDimension("lat",ny)
        fo0.createDimension("lon",nx)
        fo0.notes="Monthly mean DFe flux at the ocean surface, based on Luo et al. (2008)."
        var0=fo0.createVariable("time","f4",("time"))
        var0.units="days"
        var0[:]=self.idata["ocean_time"][:]
        for v in vlist:
            var0=fo0.createVariable(v,"f4",("time","lat","lon"),fill_value=np.nan)
            var0.units=udic[v]
            var0[:]=self.odata[v][:]
        fo0.close()

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA