python 写一个自己的类入门

2019-01-11  本文已影响0人  小姐姐催我改备注

1.类和函数不同,对于一个类,在初始化过程中,我们需要给初始变量,进行初始化,这类似于C++的构造函数,初始化的用法一般是init(self, a,b,c):这里a,b,c是我们呢自己输入的初始变量,

#coding:utf-8
from PIL import Image
from torch.utils.data import Dataset

class MyDataset(Dataset):
    def __init__(self,txt_path,transform=None,target_transform=None):
        fh=open(txt_path,'r')
        imgs=[]
        for line in fh:
            line=line.rstrip()
            words=line.split()
            imgs.append((words[0],int(words[1])))

        self.imgs=imgs
        self.transform=transform
        self.target_transform=target_transform

    def __getitem__(self,index):
        fn,label=self.imgs[index]
        img =Image.open(fn).convert('RGB')

        if self.transform is not None:
            img=self.transform(img)#在这里做图像的转换,转换到(0,1)

        return img,label

    def __len__(self):
        return len(self.imgs)

这里第一步都类,继承了基类,这里暂时不做展开.
在这里后面,self.img,类似的是添加内部变量,这里类似C++的变量分类。每一个函数都有对应的操作。

上一篇 下一篇

猜你喜欢

热点阅读