파이썬 함수 마스터하기: 초보자를 위한 완벽 가이드

파이썬 함수 마스터하기: 초보자를 위한 완벽 가이드

파이썬에서 함수는 코드를 재사용 가능하고 조직적으로 구성하는 핵심 요소입니다. 함수를 활용하면 코드를 모듈화하여 가독성을 높이고 유지보수를 간편하게 할 수 있습니다. 이 글에서는 파이썬 함수의 기본 개념부터 다양한 활용 방법까지 상세히 알아보고, 여러분의 파이썬 실력을 한 단계 업그레이드하는 데 도움을 드리고자 합니다.

1, 함수의 기본 개념

함수는 특정 작업을 수행하는 코드 블록으로, 이름을 가지고 있으며 매개변수를 받아서 반환값을 제공할 수 있습니다. 함수를 사용하면 코드를 재사용할 수 있으므로, 동일한 작업을 여러 번 반복해서 작성할 필요가 없어집니다.

1.1 함수 정의

파이썬에서 함수를 정의하려면 def 키워드를 사용합니다. 함수 정의는 다음과 같은 형식을 따릅니다.

python
def 함수이름(매개변수1, 매개변수2, …):
“””함수 설명”””
# 함수 코드 블록
return 반환값

  • 함수이름: 함수의 고유한 이름으로, 다른 변수 이름과 마찬가지로 유효한 파이썬 식별자인 경우 사용할 수 있습니다.
  • 매개변수: 함수에 입력으로 전달되는 값입니다. 매개변수는 선택 사항이며, 여러 개의 매개변수를 정의할 수 있습니다.
  • 함수 설명: 함수의 기능을 설명하는 문서 문자열입니다. 여러 줄로 작성할 수 있으며, """docstring""" 형식으로 작성됩니다.
  • 함수 코드 블록: 함수가 수행하는 작업을 포함하는 코드 블록입니다.
  • return 반환값: 함수가 호출한 곳으로 값을 반환합니다. return 키워드는 선택 사항이며, return 키워드가 없으면 함수는 암시적으로 None을 반환합니다.

1.2 함수 호출

정의된 함수를 사용하려면 함수 이름 뒤에 괄호 ()를 붙여 호출합니다. 함수 호출 시, 호출한 위치에서 정의된 함수의 코드 블록이 실행됩니다.

python
def 인사말(이름):
“””이름을 입력받아 인사말을 출력하는 함수입니다.”””
print(f”안녕하세요, {이름}님!”)

인사말(“김철수”) # 함수 호출

위 예시에서는 인사말 함수를 정의하고, 인사말("김철수") 코드로 함수를 호출하여 “안녕하세요, 김철수님!” 출력을 호출합니다.

2, 매개변수와 반환값

매개변수는 함수에 입력으로 전달되는 값이며, 반환값은 함수가 호출한 곳으로 돌려주는 값입니다. 매개변수를 통해 함수에 입력 데이터를 전달하고, 반환값을 통해 함수의 결과값을 얻을 수 있습니다.

2.1 매개변수

함수에 전달되는 매개변수는 함수 내에서 사용되는 변수로, 함수가 호출될 때 실제 값으로 대체됩니다. 다음은 매개변수 종류와 예시를 보여줍니다.

  • 위치 매개변수: 매개변수의 순서에 따라 값이 전달됩니다.
  • 키워드 매개변수: 매개변수 이름과 함께 값을 전달합니다.
  • 기본 매개변수: 기본값을 설정하여 매개변수가 전달되지 않으면 해당 기본값을 사용합니다.
  • 가변 길이 매개변수: 매개변수 개수가 정해져 있지 않은 경우 사용하는 매개변수입니다.

python
def 덧셈(a, b):
“””두 개의 숫자를 입력받아 합계를 반환하는 함수입니다.”””
return a + b

결과1 = 덧셈(3, 5) # 위치 매개변수
결과2 = 덧셈(b=5, a=3) # 키워드 매개변수
결과3 = 덧셈(3, b=5) # 위치 매개변수와 키워드 매개변수 혼합

def 인사말(이름, 나이=20):
“””이름과 나이를 입력받아 인사말을 출력하는 함수입니다.”””
print(f”안녕하세요, {이름}님! 나이는 {나이}세 입니다.”)

인사말(“홍길동”) # 나이 매개변수 생략 시 기본값 사용
인사말(“박지혜”, 30) # 나이 매개변수를 명시적으로 전달

def 평균(*숫자들):
“””가변 길이 매개변수를 입력받아 평균을 계산하는 함수입니다.”””
합계 = 0
for 숫자 in 숫자들:
합계 += 숫자
return 합계 / len(숫자들)

평균(1, 2, 3, 4) # 가변 길이 매개변수 사용

위 예시는 각 매개변수 종류에 대한 코드 예시를 보여줍니다. 위치 매개변수, 키워드 매개변수, 기본 매개변수, 가변 길이 매개변수를 각각 다르게 사용하는 방법을 이해할 수 있습니다.

2.2 반환값

return 키워드를 사용하여 함수가 호출한 곳으로 값을 반환합니다. return 키워드가 없으면 암시적으로 None을 반환합니다.

python
def 제곱(x):
“””입력받은 숫자의 제곱을 반환하는 함수입니다.”””
return x * x

결과 = 제곱(5) # 5의 제곱을 계산하여 반환
print(f”5의 제곱은 {결과}입니다.”)

def 두배(x):
“””입력받은 숫자의 두 배를 반환하는 함수입니다.”””
return x * 2

결과 = 두배(5) # 5의 두 배를 계산하여 반환
print(f”5의 두 배는 {결과}입니다.”)

위 예시에서는 제곱 함수와 두배 함수를 사용하여 입력 값의 제곱과 두 배를 계산하여 반환하는 방법을 보여줍니다. return 키워드를 사용하여 결과를 반환하는 과정을 확인할 수 있습니다.

3, 함수의 범위

함수 내에서 정의된 변수는 지역 변수라고 하며, 함수 외부에서 정의된 변수는 전역 변수라고 합니다. 지역 변수는 함수 내에서만 사용할 수 있으며, 함수 외부에서는 접근할 수 없습니다. 반대로 전역 변수는 함수 내에서도 외부에서도 접근할 수 있습니다.

python
전역_변수 = 10

def 함수():
지역변수 = 20
print(f”지역 변수: {지역
변수}”)
print(f”전역 변수: {전역_변수}”)

함수() # 함수 호출
print(f”전역 변수: {전역_변수}”)

위 예시에서는 전역_변수는 함수 외부에서 정의된 전역 변수이고, 지역_변수는 함수 내에서 정의된 지역 변수입니다. 함수 내에서 전역 변수에 접근할 수 있지만, 지역 변수는 함수 외부에서 접근할 수 없습니다.

함수 내에서 전역 변수를 수정하려면 global 키워드를 사용해야 합니다. global 키워드를 사용하지 않으면 함수 내에서 전역 변수가 아닌 새로운 지역 변수가 생성됩니다.

python
전역_변수 = 10

def 함수():
global 전역변수
전역
변수 = 20

함수()
print(f”전역 변수: {전역_변수}”)

4, 재귀 함수