본문 바로가기

그 땐 AI했지/그 땐 DeepLearning했지

[TAVE/study] ch02 파이토치 기초 | 04 파이썬 클래스

728x90

참고자료: https://wikidocs.net/book/2788

함수와 클래스의 차이

1️⃣함수로 덧셈기 구현하기

result = 0

def add(num):
    global result
    result += num
    return result
    
print(add(3)) #3
print(add(4)) #7

👉🏻result라는 전역변수를 만들어 여기에 숫자를 더하고 리턴한다.

 

2️⃣함수로 두 개의 덧셈기 구현하기

result1 = 0
result2 = 0

def add1(num):
    global result1
    result1 += num
    return result1

def add2(num):
    global result2
    result2 += num
    return result2

print(add1(3)) #3
print(add1(4)) #7
print(add2(3)) #3
print(add2(7)) #10

👉🏻독립적인 덧셈을 하고 싶으면 함수 2개를 만들어야 한다.

 

3️⃣클래스로 덧셈기 구현하기

class Calculator:
    def __init__(self): # 객체 생성 시 호출될 때 실행되는 초기화 함수. 이를 생성자라고 한다.
        self.result = 0

    def add(self, num): # 객체 생성 후 사용할 수 있는 함수.
        self.result += num
        return self.result
        
cal1 = Calculator()
cal1 = Calculator()

print(cal1.add(3)) #3
print(cal1.add(4)) #7
print(cal2.add(3)) #3
print(cal2.add(7)) #10

📌클래스는 붕어빵 틀과 같다. 클래스를 생성한 후 객체를 만들어 사용한다.

👉🏻cal1, cal2라는 객체를 생성했다. 이 두 객체를 이용해 동시에 독립적인 덧셈을 할 수 있다.

✍🏻클래스를 사용하면 코드가 훨씬 간결해진다.

728x90