[AIVLE SCHOOL] 파이썬 class

춤추는 머쉬룸·2024년 10월 2일

AIVLE SCHOOL 6기

목록 보기
35/80
post-thumbnail

10/2 4, 5세션

A. Class

  • 변수와 함수를 모아서 코드를 작성 및 실행하는 문법
  • 객체 지향을 구현한 문법 : 실제 세계를 모델링하는 코드 개발 방법론
  • 함수 사용법 : 함수 선언(코드 작성) > 함수 호출(코드 실행)

A-1. 클래스 사용법

  • 클래스 선언 (코드 작성) > 객체 생성 (메모리 사용) > 메서드 호출(코드 실행)
  • 클래스 선언 (설계도 작성) > 객체 생성 (제품 생산) > 메서드 호출(기능 사용)
  • 메서드 : 클래스 안에서 선언된 함수
  • 함수 : 클래스 밖에서 선언된 함수

A-2. Python Coding Convention

  • var, def : snake_case
  • class : PasscalCase

ex) pd.DataFrame()
<패키지, 모듈>.<클래스>()

A-3. 클래스 선언

# 1. 클래스 선언(코드 작성)
# 은행 계좌 : Account (식별자) : balance, deposit(), withdraw()

class Account:
    balance = 0

    def depostit(self, amount):
        self.balance += amount

    def withdraw():
        self.balance -= amount  
# 2. 객체 생성(메모리 사용)
acc1 = Account() #대문자로 시작하므로 클래스임을 암시
acc2 = Account()
# 3. 메서드 호출(코드 실행)
acc1.withdraw(2000)
acc2.deposit(5000)

acc1.balance, acc2.balance

TIP! dir()
객체에 들어있는 변수, 메서드 목록 확인


B. 생성자 메서드 (스페셜 메서드)

스페셜 메서드 : 특별한 기능을 하는 메서드
생성자 메서드 : __init()__

B-1. 생성자 메서드

  • 스페셜 메서드 중 하나
  • 객체를 생성할 때 사용되는 메서드

  • 일반적으로 메서드는 객체를 생성한 후 사용 가능하다
  • 생성자 메서드는 객체를 생성할때 호출된다
  • 메서드에서 사용되는 변수의 초기값을 검사&설정하는 용도

B-2. 생성자 메서드 선언

# 1. 클래스 선언

class Account2:
    def __init__(self, balance):
        self.balance = balance

    def deposit(self, amount):
        self.balance += amount
  • Account2 를 생성할 때는 balance 를 넣어야 함.
  • 메모리를 사용하기 전 에러가 발생한다는 이점 있음

(기타) 리스트와 딕셔너리도 클래스?

클래스가 맞다!

  • 클래스는 사용자 정의 데이터 타입이다.


C. 인스턴스 메서드

0개의 댓글