일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- 파이썬
- 파킹통장
- 유튜브
- 국민내일배움카드
- 파이썬공부
- 구글애널리틱스가이드
- 구글애널리틱스4
- GA4
- 파킹통장추천
- GA
- 구글ads
- 구글애널리틱스공부
- 파이썬정규표현식
- GA가이드
- 구글애널리틱스강의
- 파이썬프로그래밍
- 파이썬내장함수
- GA공부
- GA설치
- 마케팅
- 유튜브광고
- 카페24
- 신용카드추천
- 파이썬함수
- 메이크샵
- GA강의
- 페이스북광고
- 책추천
- 파이썬문자열
- 구글애널리틱스
- Today
- Total
정리왕
파이썬 if문 3 (elif) 본문
다양한 조건을 판단하는 elif
if와 else만으로는 다양한 조건을 판단하기 어렵다.
다음 예를 보더라도 if와 else만으로는 조건을 판단하는 데 어려움이 겪게 된다.
주머니에 돈이 있으면 택시를 타고, 주머니에 돈은 없지만 카드가 있으면 택시를 타고, 돈도 없고 카드도 없으면 걸어 가라. |
위 문장을 보면 조건을 판단하는 부분이 두 군데가 있다. 먼저 주머니에 돈이 있는지를 판단해야 하고 주머니에 돈이 없으면 다시 카드가 판단해야 한다.
if와 else만으로 위 문장을 표현하려면 다음과 같이 할 수 있다.
>>> pocket = ['paper', 'cellphone']
>>> card = True
>>> if 'money' in pocket:
print("택시를 타고 가라")
else:
if card:
print("택시를 타고 가라")
else:
print("걸어 가라")
택시를 타고 가라
언뜻 보기에도 이해하기 어렵고 산만한 느낌이 든다. 이런 복잡함을 해결하기 위해 파이썬에서는 다중 조건 판단을 가능하게 하는 elif를 사용한다.
위 예를 elif를 사용하면 다음과 같이 바꿀 수 있다.
>>> pocket = ['paper', 'cellphone']
>>> card = True
>>> if 'money' in pocket:
print("택시를 타고 가라")
elif card:
print("택시를 타고 가라")
else:
print("걸어 가라")
택시를 타고 가라
즉 elif는 이전 조건문이 거짓일 때 수행된다. if, elif, else를 모두 사용할 때 기본 구조는 아래와 같다.
if 조건문: 수행할 문장1-1 수행할 문장1-2 .... elif 조건문2: 수행할 문장2-1 수행할 문장2-2 .... .... elif 조건문N: 수행할 문장N-1 수행할 문장N-2 .... .... else: 수행할 문장A 수행할 문장B .... |
다음 그림에서 볼 수 있듯이 elif는 개수에 제한없이 사용할 수 있다.
if 문을 한줄로 작성하는 방법
앞의 pass를 사용한 예를 보면 if문 다음에 수행할 문장이 한 줄이고,
else문 다음에 수행할 문장도 한 줄밖에 되지 않는다.
>>> if 'money' in pocket:
pass
else:
print("카드를 꺼내라")
이렇게 수행할 문장이 한 줄일 때 조금 더 간략하게 코드를 작성하는 방법이 있다.
>>> pocket = ['paper', 'money', 'cellphone']
>>> if 'money' in pocket: pass
else:print("카드를 꺼내라")
if문 다음 수행할 문장을 콜론( : )뒤에 바로 적어 주었다. else문 역시 마찬가지이다.
조건부 표현식
다음과 같은 코드를 보자.
>>> if score >= 60:
message = "success"
else :
message = "failure"
위 코드는 score 가 60 이상일 경우 message에 문자열 "success"를, 아닐 경우에는 "failure"를 대입하는 코드이다.
파이썬의 조건부 표현식(conditional expresssion)을 사용하면 위 코드를 다음과 같이 간단히 표현할 수 있다.
message = "success" if score >=60 else "failure"
조건부 표현식은 다음과 같이 정의한다.
조건문이 참인 경우 if조건문 else 조건문이 거짓인 경우 |
조건부 표현식은 가독성에 유리하고 한 줄로 작성할 수 있어 활용성이 좋다.
'6.개발 > 파이썬 공부하기' 카테고리의 다른 글
파이썬 while문 2 (0) | 2020.11.29 |
---|---|
파이썬 while 문 1 (0) | 2020.11.29 |
파이썬 if문 2 (조건문이란 무엇인가?) (0) | 2020.11.29 |
파이썬 조건문 if 1 (if문이란?) (0) | 2020.11.29 |
파이썬 변수 (0) | 2020.11.29 |