과제

PYTHON - 함수와 클래스 (문제풀이 5일차)

Chansman 2025. 3. 17. 15:11

📚 Python 클래스와 함수 프로세스 정리

문제 1: 짝수만 출력하는 함수

🔑 핵심 키워드

  • for 반복문: 리스트 요소 순회
  • if 조건문: 짝수 판별
  • % 연산자: 나머지 연산으로 짝수 판별

📄 코드 및 프로세스

def print_even(numbers):
    for num in numbers:
        if num % 2 == 0:
            print(num)

print_even([1, 3, 2, 10, 12, 11, 15])

프로세스 흐름

  1. numbers 리스트를 순회
  2. 각 요소가 2로 나누어 떨어지는지 (num % 2 == 0) 확인
  3. 조건을 만족하는 숫자만 출력

📋 출력 예시

2
10
12

문제 2: 비어있는 클래스 정의

class oz:
    pass
  • pass 키워드는 아직 정의할 내용이 없는 경우 사용합니다.

문제 3: 인스턴스 생성과 확인

class oz:
    pass

coding = oz()

print(coding)
print(type(coding))

📋 출력 예시

<__main__.oz object at 0x7a099edf57d0>
<class '__main__.oz'>
  • 객체가 메모리 주소에 생성되었음을 보여줍니다.
  • type()으로 해당 객체가 oz 클래스의 인스턴스인지 확인합니다.

문제 4: 생성자에 출력 추가

class oz:
    def __init__(self):
        print("클래스 정복")

coding = oz()

📋 출력 예시

클래스 정복
  • __init__ 메서드는 객체가 생성될 때 자동으로 실행되는 생성자입니다.

문제 5: 속성을 받는 생성자 추가

class oz:
    def __init__(self, name, age, coding_level):
        self.name = name
        self.age = age
        self.coding_level = coding_level

coding = oz("김코", 30, "A")
  • self는 인스턴스 자신을 의미하며, 각 속성을 인스턴스 변수로 저장합니다.

문제 6: 인스턴스 변수 출력

print(f"이름 : {coding.name}")
print(f"나이 : {coding.age}")
print(f"코딩레벨 : {coding.coding_level}")

📋 출력 예시

이름 : 김코
나이 : 30
코딩레벨 : A
  • 인스턴스 변수에 직접 접근하여 값을 출력합니다.

문제 7: 메서드 추가 및 호출

📄 코드 및 프로세스

class oz:
    def __init__(self, name, age, coding_level):
        self.name = name
        self.age = age
        self.coding_level = coding_level

    def who(self):
        print(f"이름: {self.name}, 나이: {self.age}, 코딩레벨: {self.coding_level}")

coding = oz("김코", 30, "A")
coding.who()

프로세스 흐름

  1. oz 클래스의 인스턴스를 생성하며 __init__로 속성 초기화
  2. who() 메서드를 호출하여 인스턴스 변수 출력

📋 출력 예시

이름: 김코, 나이: 30, 코딩레벨: A

🔑 핵심 포인트

  • self는 인스턴스 메서드 내에서 인스턴스 변수를 참조하는데 사용됩니다.
  • who() 메서드는 인스턴스의 정보를 포맷팅하여 출력합니다.

정리된 코드 프로세스 흐름

  1. 클래스 생성: class oz로 클래스 정의
  2. 속성 초기화: __init__ 메서드로 name, age, coding_level 속성 저장
  3. 인스턴스 생성: coding = oz("김코", 30, "A")
  4. 메서드 호출: coding.who()로 인스턴스 정보 출력

이렇게 각 문제에 대한 코드 프로세스와 중요한 개념, 출력 예시까지 모두 정리해드렸습니다. 🚀