본문 바로가기

[파이썬]/함수4

[파이썬][함수] 클로저 함수 HTML 삽입 미리보기할 수 없는 소스 클로저 외부 함수의 변수를 참조하는 내부 함수 · 클로저 클로저는 상위 함수에서 내부 함수를 반환하며, 외부 함수의 지역 변수를 참조하는 내부 함수를 클로저 함수라고 한다. 내부 함수는 자신이 생성될 때의 환경, 즉 상위 함수의 지역 변수를 '기억'하고 있는 상태가 된다. 따라서 내부 함수가 호출될 때마다, 내부 함수는 외부 함수의 지역 변수를 '참조'하여 동작을 수행한다. 동작을 종료한 후에, 지역 변수는 메모리 상에서 해제되며, 언제든 호출될 수 있는 상태로서 남아있게 된다. · 동작 원리 - 상위 함수에 지역 변수가 존재하는 경우 def outter_function(x): def inner_function(y): sum = x + y return sum ret.. 2023. 11. 15.
[파이썬][함수] 데코레이터 함수 set_decorator_function HTML 삽입 미리보기할 수 없는 소스 데코레이터 함수 함수를 '장식'하는 기능 · 데코레이터를 사용하는 이유는 ? 기존 함수의 동작을 바꾸지 않으면서 추가적인 기능을 부여할 때 사용한다. 또한 특정 기능을 여러 함수에서 공통적으로 사용해야 할 때, 그 기능을 한 곳에 모아서 관리한다. 이는 코드의 중복을 줄여주고, 코드의 재사용성과 가독성, 유지보수성을 향상한다. 이를테면, 데코레이터를 사용하여 함수의 실행 시간을 측정하거나, 로그를 출력하거나, 인자의 유효성 검사하는 등의 작업을 수행할 수 있다. · 기본 형태 데코레이터의 기본 형태는 크게 두 부분으로 나뉜다. 바로 데코레이터 함수와 래퍼 함수로 말이다. 데코레이터 함수 : 데코레이터 함수는 외부 함수이며, .. 2023. 11. 15.
[파이썬] 람다 함수 HTML 삽입 미리보기할 수 없는 소스 람다 함수, lambda 익명 함수 · 기본 형태 lamda 변수1, 변수2, ...: 결과값 람다 함수는 이름이 없는 한 줄짜리 함수이다. 변수는 함수의 파라미터를 나타내며, 결과값은 함수의 리턴값을 나타낸다. · 동작 원리 res = lambda x: x*2 res(2) # 4 출력 이 코드는 변수 x 를 함수의 파라미터로 사용하여 곱하기 2 한 값을 결과값으로서 반환하는 람다 함수를 생성한다. 위의 람다 함수를 일반 함수로 나타내자면 아래와 같다. def multi(x): a = x*2 return a res = multi(2) print(res) # 4 출력 람다 함수와 달리 함수 이름이 붙고, 값을 직접 리턴한 모습을 볼 수 있다. 람다 함수는 주로 map.. 2023. 11. 9.
[파이썬] 함수 HTML 삽입 미리보기할 수 없는 소스 함수, def(defind) 재사용 가능한 코드블록 함수는 코드의 반복을 줄이기 위해 사용한다. 코드 블록의 형태로 가독성을 높이고 코드의 이해와 어떤 동작을 하는지 파악하기가 쉬우며, 유지보수를 하기에도 좋다. 또한, 함수를 변수에 담아 다른 곳에서 호출하여 이를 활용할 수도 있다. · 기본 형태 함수의 기본 형태이다. def 함수명(변수1, 변수2, ...): 실행문1, 실행문2, ... return 결과 값 변수는 함수의 파라미터를 의미한다. 실행문은 파라미터에 대한 로직을 처리하고 이를 실행한다. return은 실행문의 결과 값을 반환한다. · 동작 원리 함수를 동작하면 함수 내부의 로직이 실행된다. 이때, 함수 내부에서 사용할 인자의 존재 유무에 따라 파라.. 2023. 11. 8.