Python을 이용한 객체 지향 프로그래밍 (2)

과제 내용 설명

DataLoader 예제를 더 발전시켜서 MydataLoader2를 만들어 봅시다. data를 하나 더 늘려서 data1과 data2를 인자로 받습니다.

  1. data1과 data2의 각 value를 제곱 하는 기능을 만들어 봅시다.(make_square) ex. data1 = [1,2,3] -> make_square -> [1,4,9]

  2. shuffle 기능을 data1, data2 둘다 섞을 수 있도록 바꿉니다.

  3. for loop가 돌 때마다 i번째 data1의 값과 data2의 값을 더한 값을 인쇄할 수 있게 바꿔봅시다. ex. data1 = [1,9,4] data2 = [4,1,9] -> [5,10,13]을 하나씩 리턴

우수과제 선정 이유

깔끔한 코드에 상세한 주석으로 선정하게 되었습니다

기존 Dataloader

In [2]:

import random
class MyDataLoader:
    def __init__(self, data):
        self.size = len(data) 
        self.data = data
        
    def __iter__(self): 
        self.index = 0
        return self
 
    def __next__(self):
        if self.index >= self.size:
            raise StopIteration
        n = self.data[self.index]
        self.index += 1
        return n
    
    def shuffle(self):
        random.shuffle(self.data)

In [3]:

In [5]:

Last updated

Was this helpful?