본문 바로가기
Data Science

[데이터사이언스 Python] if else elif 조건문 차이

by 한입만쥬 2023. 6. 6.

if 조건문은 왜 사용할까?

if문의 기본 구조에 대한 내용입니다. 지난번에 배웠던 비교연산자를 여기서 많이 사용하게 됩니다!

지갑에 5천원이 있으면 스타벅스를 가고, 없으면 도서관을 간다.

이런 상황이 있다고 가정을 해봅시다. 프로그래밍도 위 문장과 똑같이 주어진 조건과 상황을 판단한 뒤에 그 조건에 맞게 처리해야 할 경우가 생깁니다. 이런 상황에서처럼 조건을 판단해서 조건에 맞는 상황을 수행하는 데 쓰는 것을 if문이라고 합니다!

# if 조건 :
a = 2
if a == 1:
    print(f'{a}는 1 입니다.')
>>>

위 상황에서는 조건에 맞지 않기 때문에 출력값이 없습니다. 만약 a = 1이었다면 어떻게 되었을까요? 출력되었을 것입니다. 

if문의 기본 구조

if 조건:
    수행할 것 1
    수행할 것 2
    ...
else:
    조건에 맞지 않을 때 수행할 것 1
    조건에 맞지 않을 때 수행할 것 2
    ...

조건이 맞을 경우에는 if 바로 다음 블록을 수행하고, 조건이 맞지 않아서 False 인 경우에는 else 문단으로 넘어가서 해당 블록의 실행문을 수행하게 됩니다. 여기서 기억할 것은, 해당되는 문단(블록)을 수행한다는 것입니다. 들여쓰기를 하지 않으면 에러가 생기기 때문에 한 번씩 확인해 주는 것이 중요합니다!

 

if, elif, else

b = 3
c = 2
if b > c:
    print(f'{b} > {c}')
elif b < c:
    print(f'{b} < {c}')
else:
    print(f'{b} == {c}')

elif가 있다면 if에 있는 조건이 참이 아닐 경우 else가 아닌 elif로 넘어갑니다. 

 

if 중첩 

중첩된 if 조건문은 생각을 한 번 더 해야 하는 조금은 복잡해지는 코드입니다.

#if 중첩
wheels = 2
engine = True

if engine:
    if wheels == 2:
        print('바이크')
    elif wheels == 4:
        print('자동차')
else:
    if wheels == 2:
        print('자전거')
    if wheels == 4:
        print('네 발 자전거')

if not

처음 배울 때 살짝 헷갈렸던 "if not" 조건문입니다. not 연산자는 무엇이든지 반대로 만들어 버리는 애라고 생각하면 되는데요. if not TrueFalse 가 되어 버리고, if 구문은 True일 경우에만 수행이 되기 때문에 아래 코드에서 두 번째 부분은 절대 실행이 안 된다고 생각하면 됩니다. 

# if not
if not False:
    print('not of False is True')
if not True:
    print('not of True is False')
    # True 절대 안되니까 실행 안 됨

 

파이썬 비교연산자