`순수함수(pure function)`는 부작용(side-effect)이 없는 함수로, 함수 외부의 상태에 영향을 끼치지 않는 함수를 의미합니다. 구체적으로는 입력이 같으면 출력도 항상 같아야합니다. 예를들어, 아래는 리스트에 새로운 원소를 추가하는 함수입니다.
def add_item(lst, item):
lst.append(item)
return lst
my_list = [1, 2, 3]
add_item(my_list, 4)
my_list
>>> [1, 2, 3, 4]
이 경우에는 함수 외부의 변수가 mutate됩니다. 순수하지 못한 함수죠. 이런 경우 원치 않는 부작용(side-effect)이 있다고 할 수 있습니다.
def add_item_pure(lst, item):
return lst + [item]
my_list = [1, 2, 3]
new_list = add_item_pure(my_list, 4)
my_list
>>> [1, 2, 3]
이 경우에는 외부의 변수가 변하지 않는 순수한 함수입니다.
이렇게 부작용을 최소화하여 항상 같은 결과가 나올 수 있도록 해야 예상치 못한 오류는 줄이고, 유지/보수는 보다 핸들하기 쉬워집니다.
'코딩 > 노트' 카테고리의 다른 글
[Python] Pickle (2) | 2024.11.26 |
---|---|
[Linux] rm (1) | 2024.10.30 |
[Bash] 다중 스크립트 실행 (0) | 2024.10.21 |
[Python] Type Hint (0) | 2024.08.09 |