Data/Python

[Python] 파이썬 제어문 - If, elif, 조건부 표현식

재은초 2023. 6. 17. 20:57
반응형

If 문이란?

  • 조건을 판단하여 해당 조건에 맞는 상황을 수행하는데, 조건문이 참이면 if 블록 내용을 수행한다.
# 기본 구조
if 조건문:                      # 조건문을 테스트해서 참이면, if 블록들을 수행
    수행할 문장1                 # 조건문 다음에 콜론(:)을 잊지 말기
    수행할 문장2
    ...
else:                         # 조건문을 테스트해서 거짓이면, else 블록 수행
    수행할 문장A                 # else문은 if문 없이 독립적으로 사용할 수 없음
    수행할 문장B
    ...
# 예시
>>> money = True
>>> if money:
>>>     print("택시를 타고 가라")
>>> else:
>>>     print("걸어 가라")
>>>
택시를 타고 가라                 # money에 입력된 True는 참이므로 if문 출력

 

If문의 조건문

  • 조건문이란 참과 거짓을 판단하는 문장으로, 참이면 if문 실행함 
# 비교 연산자를 활용한 if문
>>> money = 2000                    
>>> if money >= 3000:               # money >= 3000이라는 조건문이 거짓
>>>     print("택시를 타고 가라")
>>> else:                           # if문 말고 else문 수행
>>>     print("걸어가라")
걸어가라

# 비트 연산자를 활용한 if문
>>> money = 2000
>>> card = True
>>> if money >= 3000 or card:        # 둘 중 하나가 true이므로 if문 실행
>>>     print("택시를 타고 가라")
>>> else:
>>>     print("걸어가라")
택시를 타고 가라

# in을 활용한 if문
>>> pocket = ['paper', 'cellphone', 'money']
>>> if 'money' in pocket:            # pocket 리스트 안에 'money'가 있는가
>>>     print("택시를 타고 가라")     	  # 있으면 True - if 문 실행
>>> else:                            # 없으면 False - else 문 실행
>>>     print("걸어가라")
택시를 타고 가라
# 조건문에서 아무 일도 하지 않게 설정하고 싶을 때, pass
>>> pocket = ['paper', 'money', 'cellphone']
>>> if 'money' in pocket:                     # 리스트 안에 money 있음
>>>    pass                                   # if문 다음 문장인 pass 수행
>>> else:
>>>     print("카드를 꺼내라")
                                              # 아무런 결과값도 보여주지 않음

 

 

다양한 조건을 판단하는 Elif

  • If, Else만으로는 조건 판단이 부족할 때, 다중 조건 판단을 가능하게 하는 Elif 사용
  • Elif는 개수에 제한 없이 가용 가능
#  if, elif, else를 모두 사용할 때 기본 구조
If <조건문>:
    <수행할 문장1> 
    <수행할 문장2>
    ...
elif <조건문>:
    <수행할 문장1>
    <수행할 문장2>
    ...
elif <조건문>:
    <수행할 문장1>
    <수행할 문장2>
    ...
...
else:
   <수행할 문장1>
   <수행할 문장2>
   ...
# if와 else만으로만 표현 할 때 - 복잡
>>> pocket = ['paper', 'handphone']
>>> card = True
>>> if 'money' in pocket:
...     print("택시를 타고가라")
... else:
...     if card:
...         print("택시를 타고가라")
...     else:
...         print("걸어가라")
...
택시를 타고가라

# if와 elif를 사용할 때
>>> pocket = ['paper', 'cellphone']
>>> card = True
>>> if 'money' in pocket:
...      print("택시를 타고가라")
... elif card:                           # elif는 if 조건문이 거짓일 때 수행
...      print("택시를 타고가라")
... else:
...      print("걸어가라")
...
택시를 타고가라

 

 

조건부 표현식

  • 조건부 표현식은 가독성에 유리하고 한 라인으로 작성할 수 있어 활용성이 좋다
# 조건부 표현식
조건문이_참인_경우 if 조건문 else 조건문이_거짓인_경우
# 원래 if문
if score >= 60:                          
    message = "success"             
else:                                    
    message = "failure"
    
# 위의 코드를 조건부 표현식으로 표현하면,
message = "success" if score >= 60 else "failure"

 

Reference

반응형