
왜 함수를 사용할까요?
함수를 사용하는 주된 이유는 다음과 같습니다.
- 재사용성: 똑같은 코드를 여러 번 반복해서 작성할 필요 없이, 한 번 함수로 만들어두면 필요할 때마다 불러서 사용할 수 있습니다. 커피 머신을 한 번 사두면 계속 커피를 만들 수 있는 것처럼요.
- 모듈화: 복잡한 프로그램을 작은 단위의 함수들로 쪼개어 관리하면, 각 부분이 어떤 역할을 하는지 파악하기 쉽고, 문제 발생 시 어느 부분에서 문제가 생겼는지 찾기 용이합니다.
- 가독성: 함수 이름을 잘 지어주면 코드만 봐도 이 부분이 어떤 일을 하는지 쉽게 이해할 수 있습니다.
✅ 1. 함수 정의 및 호출
✔️ 개념
함수는 어떤 작업을 수행하는 코드 블록입니다. 자주 쓰는 작업을 묶어서 재사용할 수 있도록 해줍니다.
✔️ 예제
python
def say_hello():
print("안녕하세요!")
say_hello() # 함수 호출
✅ 2. 매개변수(Parameter)와 반환값(Return Value)
✔️ 개념
- 매개변수는 함수에 전달되는 입력값입니다.
- 반환값은 함수가 실행된 후 결과로 돌려주는 값입니다.
✔️ 예제
python
def add(a, b): # a, b는 매개변수
return a + b # 반환값은 a + b
result = add(3, 5) # 3, 5는 인자(argument)
print("결과:", result)
✅ 3. 지역 변수와 전역 변수
✔️ 개념
- 지역 변수는 함수 안에서만 쓰이는 변수입니다.
- 전역 변수는 함수 밖에서도 접근 가능한 변수입니다.
✔️ 예제
python
x = 10 # 전역 변수
def example():
y = 5 # 지역 변수
print("x (전역 변수):", x)
print("y (지역 변수):", y)
example()
# print(y) # 에러: y는 함수 밖에서는 사용 불가
python 기본적인 전역 변수와 함수 내 접근
global_var = "나는 함수 밖의 전역 변수야!" # 함수 밖에서 선언된 전역 변수
def show_global():
print(f"함수 안: {global_var}") # 함수 안에서 전역 변수 읽기
print(f"함수 밖 (호출 전): {global_var}")
show_global()
print(f"함수 밖 (호출 후): {global_var}")
설명:
- global_var는 모든 함수 바깥에서 만들어졌기 때문에 전역 변수입니다.
- show_global 함수 안에서도 global_var에 접근하여 그 값을 읽을 수 있습니다.
- 함수 호출 전후로 함수 밖에서도 global_var의 값은 동일하게 유지됩니다.
✅ 4. 가변 인수 (*args, **kwargs)
✔️ 개념
- *args: 여러 개의 위치 인자를 튜플로 받음
- **kwargs: 키워드 인자들을 딕셔너리로 받음
✔️ 예제 1 - *args
python
def print_numbers(*args):
for num in args:
print(num)
print_numbers(1, 2, 3, 4, 5)
✔️ 예제 2 - **kwargs
python
def print_info(**kwargs):
for key, value in kwargs.items():
print(f"{key}: {value}")
print_info(name="홍길동", age=25, city="서울")
🧠 정리
개념설명
| 함수 | 특정 작업을 수행하는 코드 묶음 |
| 매개변수 | 함수에 전달되는 입력값 |
| 반환값 | 함수가 실행된 결과로 돌려주는 값 |
| 지역 변수 | 함수 안에서만 사용 가능한 변수 |
| 전역 변수 | 함수 밖에서도 접근 가능한 변수 |
| 가변 인수 | 인자의 개수가 가변적인 함수 작성 방식 |
필요하시면 각각의 예제를 하나씩 따라 해보면서 실습해볼 수도 있어요.
'Python' 카테고리의 다른 글
| 파이썬 다형성 예제 (1) | 2025.05.14 |
|---|---|
| 파이썬 상속 예제 (0) | 2025.05.14 |
| 파이썬 클래스와 객체란? (0) | 2025.05.12 |
| 파이썬 딕셔너리를 사용해서 간단한 인공지능 대화 프로그램 (0) | 2025.05.09 |
| 파이썬 딕셔너리(Dictionary)와 집합(Set) 완벽 가이드 (0) | 2025.05.09 |