KDT 과정을 수강하며 그날 배운 내용의 확인과 복습을 위해 꾸준히 글을 써보려고 한다.
사전적인 지식보단 알기 쉽게 풀어놓은 내용으로 구성하고자 한다.
DAY 5 2023.03.09
1.변수의 범위
● 스코프 (scope)
변수의 접근할 수 있는 범위
local : 가장 가까운 함수만의 범위
global: 함수 바깥의 변수 또는 import 된 module
로컬변수 , 글로벌 변수라고 한다 .이는 쉽게 설명하면 함수 안에서만 작용하는 변수와 전체의 적용되는 변수라고 생각하면된다. 선언의 위치에 의해 결정된다. 특정 함수안에서 설정하면 로컬변수 전체에 선언하면 글로벌 변수가 된다 .
예시
2.콜백함수와 람다함수
● 콜백함수
직접 호출하는 것이 아닌 다른 함수에 의해 호출되는 함수
말은 어렵지만 직접 호출하지 않고 경로상 함수가 또 다른 함수를 부르는 것이다. 쉽게 생각해서 함수안에 다른 함수를 넣어 사용한다 생각하면 된다.이게 가능한 이유는 함수도 객체이기에 함수의 주소를 보내서 실행할 수 있는 프로세스이기 때문이다.
●람다함수
단일문으로 표현되는 익명함수
이는 쉽게 생각하면 함수 선언을 하지않고 일회성으로 함수를 사용하는 것이다. 따로 클래스를 통해 선언하지 않기 때문에 메모리를 많이 차지하지 않고 무조건 값을 그 변수에 리턴한다는 특성을 가지고 있다. 코드를 간결하게 만들고 속도를 향상시키는데 유용하다. 말로는 어렵지만 형태를 보면 쉽게 이해할 수 있다.
람다가 유용하게 사용되는 대표적인 함수
filter() : 특정 조건을 만족하는 요소만 남기고 필터링
map() : 각 원소를 주어진 수식에 따라 변형하여 새로운 값을 반환
양쪽다 특정 조건에 따라 요솟값을 수정하는 함수이고, 이는 람다함수가 유용하게 쓰일 수 있다. 예시를 보자.
람다를 사용하면 식이 훨씬 간결해짐을 볼 수 있다.
오늘 배운 KDT 의 내용을 정리하여 보았다. 앞으로 꾸준히 블로깅을 하고자 한다.
'코딩공부 > 파이썬(Python)' 카테고리의 다른 글
Python_객체 지향 프로그래밍 과 Class(클래스) (1) | 2023.03.23 |
---|---|
Python_random module (0) | 2023.03.23 |
Python_사용자 정의함수 (0) | 2023.03.23 |
Python_반복문(while) (0) | 2023.03.23 |
Python_제어문(if) (0) | 2023.03.23 |