[2025.12.11] 오늘의 학습 키워드 - 파이썬 알고리즘, PANDAS 리마스터

허진원·2025년 12월 11일

내일배움캠프 TIL

목록 보기
33/41
post-thumbnail
  1. 오늘 학습 키워드
    파이썬 리마스터 - CLASS 생성 실습
  1. 오늘 학습한 내용을 나만의 언어로 정리하기
    오늘은 파이썬 기초 알고리즘 중 class에 대해서 학습했다. 확실히 변수와 리스트 등으로 일일이 데이터를 처리할 때보다 시간이 굉장히 많이 절약되는 문법이었다. 잘 익혀서 프로젝트는 물론이고 취업 후 현업에서도 유용하게 사용할 수 있도록 익혀야지.

pandas도 함께 학습했다. 여기서는 데이터프레임의 특정 컬럼만 추출하는 방법, pandas의 기초 통계 함수, 결측치 처리 함수, 메서드 체이닝 등을 학습했다. 다만, 오늘 학습했던 파이썬 기초 알고리즘의 내용이 상당히 어려웠기에, 일단 파이썬 알고리즘에 집중을 하고 pandas는 내일 다시 복습하기로 했다.

  1. 학습 내용

파이썬

CLASS

1) class를 만드는 이유

  • 단순히 변수와 리스트/딕셔너리만 사용해서 데이터를 분류하는 것은 시간이 오래 걸리고 관리하기 힘듦.
  • class는 데이터와 이를 분류하기 위한 기능을 한 데 묶어두는 것이 가능함.
  • 항상 일정한 구조를 가지기 때문에 데이터 생성 및 관리가 용이함.
  • 코드 재사용성이 매우 높아짐.

2) class 기본 구조

class 클래스의 이름:
	속성(데이터)
    메서드(기능)

3) 객체(인스턴스)에 속성 붙이기

ex)
class Product:
    pass
    
p = Product()
p.name = "Beer"
p.price = 2000
print(s)

  • 쉽게 값을 입력할 수 있지만 실수하기 쉽고, 각 객체마다 다른 속성을 가질 수도 있음.

4) __init__과 self

  • __init__로 객체 생성 시에 초기 세팅을 자동으로 맞춰줄 수 있음
  • self는 메서드 내부에서 "객체 자신"을 가리키는 이름
  • self를 첫 번째 매개변수로 사용하는 것이 class에서 약속된 관례이므로 반드시 사용해야 함
class Product:
    def __init__(self, name, price, stock):
        self.name = name
        self.price = price
        self.stock = stock

5) 메서드

  • 메서드는 class 내부에 정의된 함수를 뜻함
  • 객체의 동작을 담당함
class Product:
    def __init__(self, name, price, stock):
        self.name = name
        self.price = price
        self.stock = stock
        
	def show_info(self):
    	print(self.name)

6) 실습 - Product CLASS 만들기

  • 상품 정보를 관리하는 Product 클래스를 만들고, 다음 기능을 구현하세요.
    속성: name, price, stock
    기능 1: get_total_price(count) → 구매 시 총 가격 반환
    기능 2: is_sold_out() → 품절 여부 반환
class Product:
    def __init__(self, name, price, stock):
        self.name = name
        self.price = price
        self.stock = stock
        
    def get_total_price(self, count):
        if count > self.stock:
            return f"선택 상품: {self.name}, 선택 수량: {count}, 재고: {self.stock}, 재고 부족"
        else:
            return f"선택 상품: {self.name}, 선택 수량: {count}, 재고: {self.stock}, 총 가격: {self.price * count}"

    def is_sold_out(self):
        if self.stock == 0:
            return "품절"
        else:
            return "판매 중"

p1 = Product('LA 갈비', 100000, 10)
p2 = Product('삼겹살', 35000, 0)

print(p1.get_total_price(2))
print(p1.is_sold_out())

print(p2.get_total_price(3))
print(p2.is_sold_out())

"def get_total_price(self, count):"에서 선택한 상품의 개수가 재고를 넘을 경우, 선택한 상품의 이름, 선택 수량, 남아 있는 재고의 수량을 보여주며 재고가 부족하다는 메시지를 출력하도록 조건문을 작성했다.

"def is_sold_out(self):"에서는 입력한 상품 데이터의 재고량에 따라 품절 여부를 확인할 수 있도록 메시지를 출력하는 조건문을 작성했다.

  1. 학습하며 느낀 점
    파이썬은 배워도 배워도 끝이 보이지 않는다고 느꼈다. 당장 오늘 배운 기초 알고리즘도 그렇고, 파이썬을 바탕으로 하는 pandas도 그렇고. 하나를 배우면 새로운 무언가가 두 배, 세 배로 출현하는 느낌이다.

아직 내가 파이썬을 잘 모른다는 뜻이겠지만, 반대로 말하면 실력을 올릴 수 있는 방법이 많다는 뜻이기도 하다. 가끔 정신이 살짝 아득해지기도 한다. 그래도 내가 선택한 과정이니 열심히 하는 수밖에...

마치며 : 주변에서 굴을 먹고 식중독이나 장염에 걸리는 경우가 늘어났다. 생굴을 먹을 경우, 정말 신선한 굴을 선택해서 먹어야 한다. 또한 제품 포장지에 '가열조리용'이라고 적혀 있는지 꼭 확인해보자. 굴을 익혀 먹을 경우에는 85℃에 1분 이상 가열해서 먹을 것을 권장한다고 한다.

맛있는 음식도 잘 알고 먹어야 건강하게 즐길 수 있다. 모두들 건강하게 겨울을 나도록 하자.

profile
국문과 전공 데이터 입문자

0개의 댓글