[python]데코레이터(Decorator)
2020. 7. 11. 21:31
Programming/Python
1. 데코레이터 클로저인데 인수가 함수인 부분이 차이가 있으며, 다양한 상황에서 동일한 기능을 수행하는 함수가 필요할 때 데코레이터를 만들어 사용하면 유리합니다. 일반적으로 로그를 남겨 redirecting 등 부차적 스테이지로 넘기거나, 함수의 실행시간, 메모리 점유시간 등을 확인하기 위한 용도로 많이 사용됩니다. 1.장점 공통 함수 작성(로깅, 프레임워크, 유효성 체크 등 )을 통한 간결한 코드라인과 중복 제거 조합 사용이 편리 2.단점 가독성 좋지 못하고 디버깅이 이렵다. 특정 기능에 한정된 함수는 단일 함수로 작성하는게 좋다 1) 사용법 def decorator_func(func): def wrap_func(): return func() return wrap_func() def target(): ..
[python]파이썬 함수형 프로그래밍(일급함수, 고차함수, 클로저)
2020. 7. 11. 19:17
Programming/Python
1. 개념 순수 함수들을 조합하여 전체 프로그램을 구현하는 방식으로 말 그대로 프로그램 내에서 데이터 연산 및 처리를 수학적인 개념에서 이해하여 다루려는 개념 2. 콘셉트 side effect 차단 모든 state를 immutable 하게 만들어 side effect를 사전에 차단하려 합니다. f(x+y) = z 가 있다면 f(x+y) = n 가 절대 불가능하듯 하나의 함수가 단 하나의 정상 값과 동작 결과를 갖도록 합니다. 모든 것을 객체로 취급 함수형 프로그래밍에서는 모든 것을 객체로 취급하기 때문에 함수 자체도 객체로 취급합니다. 따라서 함수형 프로그래밍에서는 함수가 인수로 전달되고, 변수에 할당될 수 도 있으며 반환될 수 있습니다. 보다 쉽고 안전한 동시성 작업 모든 객체들이 immutable 하..