TIL(10일차)

김규현·2022년 9월 13일
0

클래스

오늘은 python의 클래스에 대해서 학습했다.
기존에 보던 함수랑 비슷하면서도 헷갈렸고, 굳이 없어도 코드는 짤 수 있기 때문에
이걸 왜 사용하는지? 어떨 때 사용하는지 그리고 어떻게 사용하는지 알 수 없었다. 🤷‍

📌 클래스의 기본 구조

  • 인스턴스(instance) : class를 사용해 생성된 객체
  • 메소드(method) : 메소드란 클래스 내에 선언된 함수이며, 클래스 함수라고도 한다.
  • self : 메소드를 선언할 때에는 항상 첫번째 인자로 self를 넣어줘야 한다.
class CookieFrame(): # CookieFrame이라는 이름의 class 선언
    def set_cookie_name(self, name): 
        self.name = name

cookie1 = CookieFrame()
cookie2 = CookieFrame()

cookie1.set_cookie_name("cookie1") # 메소드의 첫 번째 인자 self는 무시된다.
cookie2.set_cookie_name("cookie2")

print(cookie1.name) # cookie1
print(cookie2.name) # cookie2

✔️클래스는 인스턴스를 생성해서 사용한다.
✔️class 내부에 선언되는 메소드는 기본적으로 self라는 인자를 가진다.
✔️그리고 메소드를 선언할 때는 항상 첫 번째 인자로 self를 넣어줘야 한다.

🚀 Class 함수를 사용하여 간단한 계산기 만들기

class Calc():
    def set_number(self, num1, num2):
        self.num1 = num1
        self.num2 = num2
    def plus(self):
        result = self.num1 + self.num2
        return result
    def minus(self):
        result = self.num1 - self.num2
        return result
    def multiple(self):
        result = self.num1 * self.num2
        return result
    def div(self):
        result = self.num1 // self.num2
        return result

calc = Calc()

calc.set_number(20, 10)

print(calc.plus())      # 더한 값
print(calc.minus())     # 뺀 값
print(calc.multiple())  # 곱한 값
print(calc.div())    # 나눈 값
  • Calc라는 Class를 생성하고 값을 담는 set_number 메소드를 통해 num1과 num2의 인자를 받는다.
  • 사칙연산의 4가지 연산을 메소드로 생성하고 result 값으로 num1과 num2를 연산한 후 result를 return해준다.
  • calc라는 변수로 Calc()클래스를 호출하고 set_number의 매개변수에 인자를 입력해준다.
  • print의 괄호안에 선언했던 calc 변수를 넣고 .메소드명을 입력해 값을 출력한다.

📙 처음에는 예제를 보고 self.name = name!?? 과 같은 구문에 이해가 안되었지만 직접 코드를 하나하나 입력하면서 실행해보면서 사용법을 조금이나마 익힐 수 있었다.
점프 투 파이썬에서 이야기하는 "백견(見)이 불여 일타(打)"를 비로소 이해할 것 같다.

profile
웹개발 회고록

0개의 댓글