Python

함수 정의 및 호출

헬로제이콥 2025. 5. 12. 17:43

 

왜 함수를 사용할까요?

함수를 사용하는 주된 이유는 다음과 같습니다.

  1. 재사용성: 똑같은 코드를 여러 번 반복해서 작성할 필요 없이, 한 번 함수로 만들어두면 필요할 때마다 불러서 사용할 수 있습니다. 커피 머신을 한 번 사두면 계속 커피를 만들 수 있는 것처럼요.
  2. 모듈화: 복잡한 프로그램을 작은 단위의 함수들로 쪼개어 관리하면, 각 부분이 어떤 역할을 하는지 파악하기 쉽고, 문제 발생 시 어느 부분에서 문제가 생겼는지 찾기 용이합니다.
  3. 가독성: 함수 이름을 잘 지어주면 코드만 봐도 이 부분이 어떤 일을 하는지 쉽게 이해할 수 있습니다.

 

 

✅ 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="서울")

🧠 정리

개념설명
함수 특정 작업을 수행하는 코드 묶음
매개변수 함수에 전달되는 입력값
반환값 함수가 실행된 결과로 돌려주는 값
지역 변수 함수 안에서만 사용 가능한 변수
전역 변수 함수 밖에서도 접근 가능한 변수
가변 인수 인자의 개수가 가변적인 함수 작성 방식
 

필요하시면 각각의 예제를 하나씩 따라 해보면서 실습해볼 수도 있어요.