log.Sehee

TIL / 3/21 / Python 기초_심화 문법 본문

TLC - 5 ⛺/Today I Learn

TIL / 3/21 / Python 기초_심화 문법

Sehe_e 2023. 3. 21. 23:41

문제

 

Python 기초 ~ 심화 문법 정리를 작성하다가 Lambda식을 정리할 때 이해가 되지 않아 정리가 불가능한 상태가 되었다.

1)
def check_adult(person):
    return '성인' if person['age'] > 20 else '청소년'

result = map(check_adult, people)


2)
result = map(lambda x: ('성인' if x['age'] > 20 else '청소년'), people)


print(list(result))

1번과 2번이 같은 결과가 도출되는데 어떤 방식으로 도출이 되는지 정리가 되질 않아 내 나름대로 정의해서 쓰기 불가능했다.

 


시도

 

구글링을 통해 python lambda를 검색하여 '점프 투 파이썬' 사이트에서 자료를 찾아보게 되었다.

https://wikidocs.net/64

 

간단하다고 적어놓으셨는데 내 눈엔 전혀 간단하지 않다.. 도대체 뭐가 뭔지 알 수가 없었다.

매개변수? 표현식? 전혀 못 알아들을 언어들 뿐

 

 

그래서 이번엔 강의에서 lambda 식을 이해하기 전, 먼저 있었던 map 함수 먼저 다시 이해해보기로 했다.

 

https://wikidocs.net/64

 

역시 내가 map 함수에 대해 이해가 부족했던 것이였다.

map 함수에 대한 설명도 역시나 매개변수, 인수 등등 못 알아들을 언어만 잔뜩이라

python 문법으로만 이해해보려했지만 무리였다.

 


해결

 

결국 map, lambda식을 나중에 복습하려 다음 챕터로 넘겼는데 매개변수와 인수에 관한 여러 조건들에 관한 챕터였다.

역시나 이해가 전혀 되질 않아 매개변수와 인수에 관해 구글링을 하니 자료가 나왔다.

 

 

아주 기초적인 지식이였다.. 초반에 강의에서 알려준 것인데 내가 놓친걸까 아니면 강사님이 알려주지 않으신걸까....🤤

 

매개변수와 인수의 정의를 알고나니 바로 이해가 가능했다.

문법의 진행 순서를 짚어가며 map 함수를 먼저 이해한 뒤 그 안에 lambda식을 대입해 다시 생각해보니 이해가 되었다.

 


배운 점

 

매개변수 : 함수에 입력으로 전달된 값을 받을 변수

인수 : 함수에 입력으로 넣을 값

map 함수 : 기본적으로 리스트형태라 출력 시 리스트 형태가 아니라면 오류가 난다.

lambda식: 인자 > 매개변수 > 표현식 순으로 출력된다. 바깥에 어떤 함수를 사용하느냐에 따라서 표현식이 달라진다.

filter 함수: 참, 거짓 Boolean 자료형으로 가려내는 리스트형태로 출력되지만

                 어떤 함수를 추가로 사용하느냐에 따라 비교, 논리연산자 외에도 사용할 수 있을 것 같다.

                 이건 아직 더욱 공부해봐야 할 것 같다.

 

 

+)

TIL 쓰다가 의문이 들어서 찾아봤다...

자료에서도 인자와 매개변수, 인수 단어를 섞어쓰길래 전부 다른 용어인 줄 알았지만 인자 = 매개변수였다.

 

 

Python 기초 ~ 심화 문법 정리

https://log-sehee.tistory.com/17
Comments