이미지
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("목록...

파이썬 함수(Function): 나만의 마법 주문 만들기

Day 11

파이썬 함수(Function): 나만의 마법 주문 만들기

똑같은 코드 반복은 이제 그만! 효율적인 코드의 핵심

안녕하세요! 어제까지 우리는 데이터를 담고 관리하는 다양한 바구니(자료구조)를 배웠습니다. 하지만 프로그램이 커질수록 같은 작업을 반복해서 적어야 하는 순간이 옵니다.

오늘 배울 함수(Function)는 반복되는 코드 뭉치를 하나로 묶어, 필요할 때마다 이름만 불러서 실행하는 아주 편리한 도구입니다.

파이썬 함수

1. 함수란 무엇인가요?

함수는 마치 '믹서기'와 같습니다. 과일(입력값)을 넣으면, 믹서기가 갈아주는 동작(함수 내용)을 거쳐, 주스(결과값)가 나옵니다. 우리는 믹서기 내부가 어떻게 도는지 매번 고민할 필요 없이 '버튼(함수 호출)'만 누르면 되죠!

함수의 3요소:
1. 매개변수(Parameter): 함수에 전달하는 입력값입니다.
2. 본문(Body): 실행할 코드들이 들어있는 영역입니다.
3. 반환값(Return Value): 함수가 작업을 마친 뒤 돌려주는 결과입니다.
# 함수 정의하기 (def: define의 약자)
def greet(name):
    print(f"안녕하세요, {name}님! 오늘도 코딩 열공하세요.")

# 함수 호출하기 (이름 불러주기)
greet("철수")
greet("영희")

2. 값을 받고, 결과 돌려주기 (Return)

함수가 단순히 화면에 출력만 하는 게 아니라, 계산된 결과를 나에게 다시 전달하게 하려면 return을 사용합니다.

# 두 수를 더해 결과를 돌려주는 함수
def add_numbers(a, b):
    result = a + b
    return result

# 함수가 돌려준 값을 변수에 저장
sum_val = add_numbers(10, 20)
print(f"합계는 {sum_val}입니다.") # 결과: 30

3. 팁: 기본값이 있는 매개변수

가끔은 입력을 깜빡해도 알아서 동작하게 하고 싶을 때가 있죠? 매개변수에 미리 값을 정해줄 수 있습니다.

def power(number, p=2): # p를 안 넣으면 기본적으로 제곱(2)을 합니다.
    return number ** p

print(power(4))    # 결과: 16 (4의 2승)
print(power(4, 3)) # 결과: 64 (4의 3승)

함수 호출 시 값이 매개변수로 전달되는 흐름

함수 정의
def add(x, y):
    return x + y
    
매개변수 x 매개변수 y
함수 호출

add(a, b)

a = 5, b = 10

⬇️
x에 전달

x = 5

y에 전달

y = 10

함수 실행

x + y 계산

5 + 10 = 15

결과 반환

result = 15


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

Q1. print()return의 차이가 뭔가요?

A1. 가장 많이 헷갈려 하시는 부분입니다! print()는 단순히 모니터 화면에 보여주는 것이고, return은 함수를 호출한 곳으로 값을 **배달**해주는 것입니다. 배달된 값은 변수에 담아서 나중에 또 쓸 수 있지만, 화면에 찍힌 글자는 다시 쓸 수 없습니다.

Q2. 매개변수가 없는 함수도 만들 수 있나요?

A2. 네, 당연하죠! def say_hello(): 처럼 괄호 안을 비워두면 됩니다. 항상 똑같은 동작을 수행하는 알람 같은 기능을 만들 때 유용합니다.

Q3. 함수 안에서 만든 변수를 밖에서 쓸 수 있나요?

A3. 기본적으로는 불가능합니다. 이를 **'지역 변수'**라고 하는데요, 함수가 끝나면 함수 안에서 만든 변수는 사라집니다. 밖에서 쓰고 싶다면 반드시 return으로 내보내야 합니다.

오늘의 미션 🚩

"나만의 계산기 함수 만들기"
1. 숫자 두 개를 입력받아 곱셈 결과를 돌려주는 함수를 만드세요.
2. 만약 숫자를 하나만 넣으면 자동으로 10을 곱하도록 기본값을 설정해보세요.
3. 결과를 출력하여 확인해보세요!

함수를 정복하면 코드의 질이 달라집니다. 여러분은 이제 중급 개발자로 가는 문을 열었습니다!
내일은 함수의 심화 과정인 12일차: 지역 변수와 전역 변수를 파헤쳐 보겠습니다. 💜

참고 자료: 파이썬 공식 가이드 - 함수 정의

댓글

이 블로그의 인기 게시물

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

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