코딩공부/파이썬(Python)

Python_변수, callback함수와 lambda 함수

diary100 2023. 3. 23. 15:39

KDT 과정을 수강하며 그날 배운 내용의 확인과 복습을 위해 꾸준히 글을 써보려고 한다.

사전적인 지식보단 알기 쉽게 풀어놓은 내용으로 구성하고자 한다.

 

DAY 5 2023.03.09

1.변수의 범위

● 스코프 (scope)

변수의 접근할 수 있는 범위

local : 가장 가까운 함수만의 범위

global: 함수 바깥의 변수 또는 import 된 module

 

로컬변수 , 글로벌 변수라고 한다 .이는 쉽게 설명하면 함수 안에서만 작용하는 변수와 전체의 적용되는 변수라고 생각하면된다. 선언의 위치에 의해 결정된다. 특정 함수안에서 설정하면 로컬변수 전체에 선언하면 글로벌 변수가 된다 .

 

예시

 

2.콜백함수와 람다함수

● 콜백함수

직접 호출하는 것이 아닌 다른 함수에 의해 호출되는 함수

말은 어렵지만 직접 호출하지 않고 경로상 함수가 또 다른 함수를 부르는 것이다.  쉽게 생각해서 함수안에 다른 함수를 넣어 사용한다 생각하면 된다.이게 가능한 이유는 함수도 객체이기에 함수의 주소를 보내서 실행할 수 있는 프로세스이기 때문이다.

 

 

 

●람다함수

단일문으로 표현되는 익명함수

이는 쉽게 생각하면 함수 선언을 하지않고 일회성으로 함수를 사용하는 것이다. 따로 클래스를 통해 선언하지 않기 때문에 메모리를 많이 차지하지 않고 무조건 값을 그 변수에 리턴한다는 특성을 가지고 있다. 코드를 간결하게 만들고 속도를 향상시키는데 유용하다. 말로는 어렵지만 형태를 보면 쉽게 이해할 수 있다.

 

 

람다가 유용하게 사용되는 대표적인 함수

filter() : 특정 조건을 만족하는 요소만 남기고 필터링

 

map() : 각 원소를 주어진 수식에 따라 변형하여 새로운 값을 반환

 

양쪽다 특정 조건에 따라 요솟값을 수정하는 함수이고, 이는 람다함수가 유용하게 쓰일 수 있다. 예시를 보자.

 

 

람다를 사용하면 식이 훨씬 간결해짐을 볼 수 있다.

오늘 배운 KDT 의 내용을 정리하여 보았다. 앞으로 꾸준히 블로깅을 하고자 한다.