IT/Python

[Python] Python 함수 : 작성부터 활용까지

멋진 선배 2025. 1. 9. 12:07
반응형

파이썬의 핵심 기능 중 하나인 함수에 대해서 자세히 알아보도록 하겠습니다. 함수는 코드의 재사용성과 가독성을 높이는데 큰 역할을 합니다.

함수의 기본구조

파이썬의 함수는 'def' 키워드를 사용하여 정의 합니다. 기본 구조는 다음과 같습니다.

def 함수명(매개변수) :
	# 함수 내용
    return 반환값

 

예를 들어, 간단한 덧셈 함수를 만들어 볼까요?

def add_numbers(a, b) :
	return a + b
    
result = add_numbers(5, 3)
print(result) # 출력 : 8

매개변수 인자

함수를 정의할 때 사용하는 변수를 매개변수(parameter)라고 하며, 함수를 호출할 때 전달하는 값을 인자(argument)라고 합니다.

기본 매개변수

함수의 매개변수에 기본값을 지정할 수 있습니다. :

def greet(name="Guest"): # 기본값 Guest 지정
	print(f"Hello, {name}!")
    
greet() # 출력 : Hello, Guest!
greet("Alice") # 출력 : Hello, Alice!

가변 인자(*args)

함수가 여러 개의 인자를 받을 수 있도록 하려면 '*args'를 사용 합니다.

def sum_all(*numbers):
	return sum(numbers)
    
print(sum_all(1,2,3,4))	# 출력 : 10

키워드 가변 인자(**kwargs)

키-값 쌍의 형태로 여러 인자를 받으려면 '**kwargs'를 사용합니다.

def print_info(**kwargs) :
	for key, value in kwargs.itmes():
    	print(f"{key}: {value}")

print_info(name="Alice", age=30, city="Seoul")

반환값

함수는 'return' 문을 사용하여 값을 반환할 수 있습니다. 반환값이 없으면 'None'을 반환 합니다.

def get_square(n) :
	reutnr n**2
    
 result = get_square(4)
 print(result) # 출력 : 16

 

함수 활용

람다 함수

간단한 함수는 람다 표현식을 사용하여 한 줄로 정의 할 수 있습니다.

square = lamda x: x ** 2
print(square(5)) # 출력 : 25

함수를 인자로 전달

함수를 다른 함수의 인자로 전달할 수 있습니다:

def apply_function(func, value):
	return func(value)
    
def double(x) :
	return X * 2
    
print(apply_function(double, 5)) # 출력 : 10

클로저

함수 내부의 함수를 정의하고 반환할 수 있습니다.

def outer_function(x):
	def inner_function(y):	
    	return x+y
    return inner_function
 
add_five = outer_function(5)
print(add_five(3))	# 출력 : 8

함수 작성 팁

함수 이름은 기능을 잘 설명하는 동사로 시작하세요.

함수는 한 가지 일만 하도록 설계하세요.

주석을 사용하여 함수의 목적과 사용법을 설명하세요.

복잡하 로직은 여러 개의 작은 함수로 나누어 작성하세요.

 

마무리

함수는 파이썬 프로그래밍의 핵심 요소 입니다. 잘 설계된 함수는 코드의 재사용성을 높이고, 프로그램의 구조를 개선 합니다. 이 글에서 배운 내용을 바탕으로 다양한 함수를 만들어 보세요. 파이썬 함수는 강력하면서도 유연합니다. 

반응형