과제
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])
⚡ 프로세스 흐름
- numbers 리스트를 순회
- 각 요소가 2로 나누어 떨어지는지 (num % 2 == 0) 확인
- 조건을 만족하는 숫자만 출력
📋 출력 예시
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()
⚡ 프로세스 흐름
- oz 클래스의 인스턴스를 생성하며 __init__로 속성 초기화
- who() 메서드를 호출하여 인스턴스 변수 출력
📋 출력 예시
이름: 김코, 나이: 30, 코딩레벨: A
🔑 핵심 포인트
- self는 인스턴스 메서드 내에서 인스턴스 변수를 참조하는데 사용됩니다.
- who() 메서드는 인스턴스의 정보를 포맷팅하여 출력합니다.
✅ 정리된 코드 프로세스 흐름
- 클래스 생성: class oz로 클래스 정의
- 속성 초기화: __init__ 메서드로 name, age, coding_level 속성 저장
- 인스턴스 생성: coding = oz("김코", 30, "A")
- 메서드 호출: coding.who()로 인스턴스 정보 출력
이렇게 각 문제에 대한 코드 프로세스와 중요한 개념, 출력 예시까지 모두 정리해드렸습니다. 🚀