순수 함수란?
순수 함수(pure function)는 함수형 프로그래밍 패러다임에서 중요한 개념 중 하나입니다. 순수 함수는 입력값으로 받은 인자를 변경하지 않으며, 항상 동일한 인자에 대해서는 항상 동일한 결과값을 반환합니다. 또한 함수 외부의 상태를 변경하지 않기 때문에, 부작용(side effect)이 없습니다.
순수 함수는 다음의 성질을 가집니다.
•
동일한 인자에 대해서 항상 동일한 결과값을 반환합니다.
•
함수 외부의 상태를 변경하지 않습니다.
•
반환값 외의 어떤 작업도 수행하지 않습니다.
순수 함수를 사용하면 코드의 테스트성이 높아지고, 코드의 결합성이 낮아져서 코드 유지보수성이 높아집니다.
예시
다음은 순수 함수의 예시입니다.
def add(a, b):
return a + b
Plain Text
복사
위 함수는 순수 함수입니다. 입력값으로 받은 a와 b를 변경하지 않고, 항상 동일한 입력값에 대해서 동일한 결과값을 반환하기 때문입니다.
def print_hello():
print("Hello, world!")
Plain Text
복사
위 함수는 순수 함수가 아닙니다. 함수 외부의 상태를 변경하기 때문에 부작용(side effect)이 있습니다.