Python을 배우다 보면 같은 코드를 여러 번 작성하는 경우가 있습니다. 예를 들어 사용자에게 인사말을 출력하거나, 두 숫자를 더하는 기능을 여러 곳에서 사용해야 한다면 같은 코드를 반복해서 작성하는 것은 비효율적입니다.
이럴 때 사용하는 것이 바로 함수(Function)입니다. 함수는 자주 사용하는 코드를 하나로 묶어 필요할 때마다 호출하여 사용할 수 있는 기능입니다. 코드를 재사용할 수 있어 개발 효율을 높이고 유지보수를 쉽게 만들어 줍니다.
이번 글에서는 Python 함수(Function) 정의와 사용법(def)을 초보자도 이해하기 쉽게 다양한 예제와 함께 설명하겠습니다.
함수(Function)란?
함수(Function)는 특정 기능을 수행하는 코드의 묶음입니다.
한 번 만들어 두면 여러 번 호출하여 사용할 수 있기 때문에 코드가 짧아지고 중복을 줄일 수 있습니다.
예를 들어 인사말을 출력하는 함수를 만들어 보겠습니다.
def hello():
print("안녕하세요!")
hello()
실행 결과
안녕하세요!
hello() 함수를 호출할 때마다 같은 결과를 출력할 수 있습니다.
def 키워드 사용법
Python에서 함수를 만들 때는 def 키워드를 사용합니다.
기본 문법은 다음과 같습니다.
def 함수이름():
실행할 코드
예제입니다.
def welcome():
print("Python 공부를 시작합니다.")
welcome()
실행 결과
Python 공부를 시작합니다.
함수 이름은 역할을 알 수 있도록 의미 있게 작성하는 것이 좋습니다.
예를 들어 calculate_total(), print_menu(), login_user()처럼 작성하면 코드를 이해하기 쉬워집니다.
매개변수(Parameter) 사용하기
함수는 필요한 값을 전달받아 사용할 수 있습니다.
이를 매개변수(Parameter)라고 합니다.
def hello(name):
print(f"안녕하세요, {name}님!")
hello("홍길동")
실행 결과
안녕하세요, 홍길동님!
다른 값을 전달하면 결과도 달라집니다.
hello("김철수")
결과
안녕하세요, 김철수님!
매개변수를 사용하면 하나의 함수로 다양한 작업을 수행할 수 있습니다.
여러 개의 매개변수 사용하기
매개변수는 여러 개를 사용할 수 있습니다.
def add(a, b):
print(a + b)
add(10, 20)
실행 결과
30
이처럼 두 개 이상의 값을 전달하여 계산하거나 데이터를 처리할 수 있습니다.
return 사용하기
함수에서 계산 결과를 반환하려면 **return**을 사용합니다.
def add(a, b):
return a + b
result = add(10, 20)
print(result)
실행 결과
30
return은 함수의 실행 결과를 호출한 곳으로 돌려주는 역할을 합니다.
실무에서는 print()보다 return을 사용하는 경우가 훨씬 많습니다.
기본값(Default Parameter)
매개변수에 기본값을 지정할 수도 있습니다.
def hello(name="방문자"):
print(f"안녕하세요, {name}님!")
hello()
hello("Python")
실행 결과
안녕하세요, 방문자님!
안녕하세요, Python님!
값을 전달하지 않으면 기본값이 자동으로 사용됩니다.
여러 값을 반환하기
Python은 여러 개의 값을 동시에 반환할 수도 있습니다.
def calculate(a, b):
return a + b, a - b
plus, minus = calculate(10, 5)
print(plus)
print(minus)
실행 결과
15
5
이 기능은 여러 계산 결과를 한 번에 전달할 때 매우 편리합니다.
지역 변수와 전역 변수
함수 안에서 만든 변수는 지역 변수(Local Variable)라고 합니다.
def test():
number = 100
print(number)
test()
number는 함수 내부에서만 사용할 수 있습니다.
반대로 함수 밖에서 선언한 변수는 전역 변수(Global Variable)이며, 함수에서도 사용할 수 있습니다.
message = "Python"
def show():
print(message)
show()
변수의 사용 범위를 이해하면 오류를 줄이고 코드를 체계적으로 작성할 수 있습니다.
실무에서 자주 사용하는 함수 예제
쇼핑몰에서 상품 가격에 부가세를 포함한 금액을 계산하는 함수를 만들어 보겠습니다.
def calculate_price(price):
vat = price * 0.1
return price + vat
total = calculate_price(50000)
print(f"최종 금액: {total}원")
실행 결과
최종 금액: 55000.0원
이처럼 함수를 활용하면 같은 계산을 여러 곳에서 재사용할 수 있습니다.
초보자가 자주 하는 실수
1. 함수를 만들고 호출하지 않는 경우
def hello():
print("Hello")
위 코드는 함수를 정의만 했을 뿐 실행되지 않습니다.
반드시 호출해야 합니다.
hello()
2. 들여쓰기 오류
def hello():
print("Hello")
Python에서는 들여쓰기가 문법입니다.
반드시 함수 내부 코드는 들여쓰기해야 합니다.
3. return과 print를 혼동하는 경우
def add(a, b):
print(a + b)
위 함수는 결과를 출력만 할 뿐 반환하지 않습니다.
계산 결과를 다른 곳에서 사용하려면 return을 사용하는 것이 좋습니다.
def add(a, b):
return a + b
함수를 잘 작성하는 팁
- 함수 하나는 하나의 기능만 수행하도록 작성합니다.
- 함수 이름은 동사 형태로 의미 있게 작성합니다.
- 중복되는 코드는 함수로 분리하여 재사용합니다.
- 계산 결과는
print()보다return으로 반환하는 습관을 들이면 확장성과 재사용성이 높아집니다.
마무리
이번 글에서는 Python 함수(Function) 정의와 사용법(def)을 중심으로 함수 생성, 매개변수, return, 기본값, 지역 변수와 전역 변수까지 살펴보았습니다.
함수는 Python뿐 아니라 대부분의 프로그래밍 언어에서 가장 중요한 개념 중 하나입니다. 함수를 잘 활용하면 코드가 간결해지고 재사용성이 높아져 유지보수가 쉬워집니다.
다음 글에서는 Python 리스트(List) 사용법과 주요 메서드를 예제와 함께 자세히 알아보겠습니다.