inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

남박사의 파이썬 기초부터 실전 100% 활용

조건문 (if, else, elif)

if문 질문

262

JW CHOI

작성한 질문수 2

1

ret = {a > 10: 100. a < 10: 500}.get(True, 200)

이 식에서 True의 역할이 궁금합니다. False를 넣었을 경우 어떻게 진행되는지 다른 형의 자료가 들어가도 되는 자리인지 궁금합니다!!

웹-크롤링 python

답변 1

1

남박사

사실 특별한 경우가 아니면 그다지 자주 사용되는 스타일의 코딩법은 아닙니다만 이렇게도 할 수 있다 라는걸 보여드리기 위해 작성된 예시 입니다. 질문하는 문장을 풀어서 쓴다면....

ret = 200
if a > 10:
   ret = 200
else:
   ret = 500

위 내용과 동일한 내용이라고 볼 수 있습니다.

{a > 10: 100, a <= 10: 500}

위 내용은 위의 if 문에서 a 가 10보다 크거나 작으면 해당하는 값이 키와 값인 {키: 값} 인 dict 형태로 작성됩니다. 이 dict 에서 get 함수를 통해 True 인 조건의 값을 가져오는데 a > 10 이 조건에 만족하면(True) 100 을 get 하게 될테고 a <= 10 조건에 만족하면 500을 get 하게 됩니다. False 인 경우에는 반대되는 값이 나옵니다. get(True, 200) 에서 200은 두 조건다 만족하지 않는 경우의 기본값을 200으로 설정한다는 이야기 입니다.

dict 의 성질은 키:값 으로 정의되어있고 get 함수를 통해 해당하는 키의 값을 구해올 수 있습니다.

{"호랑이": "tiger", "사자": "lion", "말": "horse"}.get("호랑이")

를 하면 tiger 를 구할 수 있습니다. 이 dict 의 특성을 활용해서 

{True: 100, False: 500}.get(True) 

하면 100이 나오고 False 면 500을 얻을 수 있습니다.

이 True, False 대신에 변수의 조건을 주어서

{a>10: 100, a <= 10: 500}.get(True)

로 변형된걸로 보시면 됩니다. 다소 복잡하긴 하지만 이해가 되셨으면 좋겠습니다. ^^

38강 = 연산자 더하고 빼기

0

60

2

주석처리

0

116

1

함수의 파라미터값 msg

0

155

1

강의자료 이미지 안나옴

0

239

3

강의자료 질문 두번째

0

165

3

강의자료 관련 질문

0

116

1

파이썬 예외 처리 try / except 파일 처리 코드가 실행이 안됩니다.

0

235

1

소수 너무 어려워요

0

245

1

imagefont 함수 사용

0

239

1

pylint

0

357

1

add 함수 문의 ㅠㅠ

0

283

1

형식 문의드립니다.

0

209

1

변수 명을 왜 src, tar로 하셨는지 궁금합니다.

0

602

1

숫자야구 코드를 짜 봤는데 뭔가 이상합니다.

0

253

1

zsh: command not found: pylint

0

269

1

텔레그램 봇 만들기 코드 실행이 안됩니다 박사님..ㅠ

0

546

1

질문드립니다.

1

374

2

list.reverse() 출력에 대해서 질문있습니다.

1

433

1

데코레이터 함수 및 동작시간 질문입니다.~

1

323

2

opencv 사용하면서 궁금한점 (해상도)

1

781

1

질문드립니다.

1

299

1

아래 오류가 뜨면서 vscode가 컴파일이 되지 않는데.. 혹시 왜이럴까요?

1

445

1

크롤링안되는 현상 문의 드립니다.

1

421

1

파이썬 크롤링 관련 문의

1

277

1