이미지
Day 17 예외 처리: 에러가 나도 당황하지 않는 법 프로그램의 멈춤을 방지하는 든든한 보호막, try-except 안녕하세요! 16일차에서 파일을 읽어오는 법을 배웠죠? 그런데 만약 읽으려는 파일이 없다면 어떻게 될까요? 파이썬은 즉시 빨간색 에러 메시지를 띄우며 작동을 멈춰버립니다. 하지만 예외 처리 를 배우면 에러 상황을 우아하게 넘길 수 있습니다. 1. try-except: "일단 해보고, 안되면 대처해!" 가장 기본적인 안전장치 구조입니다. try 블록에는 원래 하려던 코드를, except 에는 에러가 났을 때 할 행동을 적습니다. 실행 (try) ➡️ 에러 발생 시 대처 (except) ➡️ 계속 실행 try: num = int(input("숫자를 입력하세요: ")) print(f"입력하신 숫자는 {num}입니다.") except ValueError: print("⚠️ 오류: 숫자가 아닌 글자가 입력되었습니다!") print("프로그램이 종료되지 않고 계속 실행됩니다.") 2. 에러의 종류에 따라 다르게 대처하기 파이썬에는 다양한 에러(Exception)가 있습니다. 어떤 에러가 났느냐에 따라 다른 안내 메시지를 줄 수 있습니다. try: a = [10, 20, 30] index = int(input("인덱스 번호를 입력하세요: ")) print(a[index] / 0) # 인덱스 에러와 0으로 나누기 에러 가능성! except IndexError: print("목록...

파이썬 내장 함수: 이미 준비된 보물 상자 열기

Day 13

파이썬 내장 함수: 이미 준비된 보물 상자 열기

직접 만들지 않아도 파이썬이 기본으로 제공하는 강력한 함수들

안녕하세요! 어제까지 우리는 def를 이용해 직접 함수를 만드는 법을 배웠습니다. 하지만 파이썬은 우리가 자주 쓸 법한 기능들을 이미 **'내장 함수(Built-in Functions)'**라는 이름으로 준비해 두었습니다.

오늘 이 보물 상자를 잘 익혀두면, 10줄짜리 코드를 단 1줄로 줄이는 마법을 부릴 수 있게 됩니다!

1. 데이터의 통계를 한눈에! 숫자 관련 함수

리스트나 튜플에 담긴 숫자 데이터들을 순식간에 계산해 줍니다.

nums = [10, 20, 30, 40, 50]

print(sum(nums))  # 합계: 150
print(max(nums))  # 최댓값: 50
print(min(nums))  # 최솟값: 10
print(abs(-5))    # 절대값: 5
print(round(3.1415, 2)) # 반올림(소수점 2자리): 3.14

2. 데이터를 보기 좋게 정돈하기

데이터의 개수를 세거나 순서를 뒤바꿀 때 유용합니다.

fruits = ["apple", "banana", "cherry"]

print(len(fruits))    # 개수: 3
print(sorted(fruits)) # 오름차순 정렬: ['apple', 'banana', 'cherry']
print(list(reversed(fruits))) # 순서 뒤집기

3. 실무 활용도 200%! enumerate와 zip

반복문(for문)을 돌릴 때 인덱스 번호가 필요하거나, 두 개의 리스트를 짝지어야 할 때 사용합니다.

enumerate: 순서(index)와 값을 동시에 반환합니다.
zip: 여러 개의 리스트를 같은 인덱스끼리 묶어줍니다.
# enumerate 예시
names = ["철수", "영희", "민수"]
for idx, name in enumerate(names):
    print(f"{idx+1}번 학생: {name}")

# zip 예시
scores = [90, 85, 100]
for name, score in zip(names, scores):
    print(f"{name}의 점수는 {score}점")

💡 13일차 궁금증 해결 (Q&A)

Q1. sort()sorted()는 뭐가 다른가요?

A1. 아주 중요한 차이입니다! 리스트.sort()는 원본 리스트 자체를 정렬해서 바꿔버리지만, sorted(리스트)는 원본은 그대로 두고 **정렬된 새로운 리스트**를 만들어 돌려줍니다. 원본을 유지해야 한다면 sorted()를 쓰세요!

Q2. 내장 함수의 종류를 다 외워야 하나요?

A2. 절대 아닙니다! 자주 쓰는 10~20개 정도만 눈에 익혀두시고, 필요할 때마다 구글이나 공식 문서를 찾아보는 것이 훨씬 효율적입니다. 코딩은 암기 과목이 아니라 '검색 활용 능력'이 더 중요하니까요.

Q3. zip()으로 묶는 리스트들의 길이가 다르면 어떻게 되나요?

A3. 파이썬의 zip()은 가장 짧은 리스트의 길이에 맞춰서 묶어주고 나머지는 버립니다. 데이터가 유실될 수 있으니 가급적 길이를 맞춰주는 것이 좋습니다.

오늘의 미션 🚩

"성적표 자동 생성기"
1. 과목명 리스트: ['국어', '영어', '수학']
2. 점수 리스트: [80, 95, 70]
3. zip을 사용해 "OO 과목은 OO점입니다"를 출력하고,
4. 전체 과목의 평균 점수를 내장 함수로 계산해 보세요!

내장 함수라는 든든한 무기를 장착하신 여러분, 이제 코딩이 훨씬 쉬워질 거예요!
내일은 2주차의 마지막, 14일차: [중간 점검] 숫자 맞추기 게임 만들기로 실습을 진행하겠습니다. 💙

참고 자료: 파이썬 공식 문서 - 모든 내장 함수 목록

댓글

이 블로그의 인기 게시물

초보 파이썬 따라하기: 7가지 실전 프로젝트로 매일 코딩 습관 만들기

조건문(if, elif, else) 배우기