파이썬/개념

if, elif, 그리고 else

thpop 2025. 2. 24. 09:34
반응형

if, elif, else는 조건을 확인하는 선언문(statement)이다.

>>> a = True
>>> if a:
···    print('it is True')
··· else:
···    print('it is False')
···
it is True
>>>

 

위의 코드에서 수행한 것은 다음과 같다.

  • 불리언 변수 a에 True를 할당.
  • if와 else를 이용해 True인지 False인지 조건 테스트를 수행.
  • print()함수를 이용해 텍스트 출력.

좀 더 복잡한 예시는 다음과 같다.

>>> fruit = True
>>> red = True
··· if fruit:
···     if red:
···        print('apple')
···     else:
···        print('another fruit')
··· else:
···     if red:
···         print('another red one')
···     else:
···         print("I don't know what it is")
···
apple
>>>

 

만약 조건 테스트가 2개 이상이라면, if, elif(else if), else를 사용한다.

>>> a = 'spider'
>>> if a == 'ant':
···     print('it is insect')
··· elif a == 'butterfly':
···     print('it is insect')
··· else:
···     print('it is not insect')
··· 
it is not insect

 

위 예제에서 사용한 == 연산자는 비교연산자(comparison operator)이다.

비교 연산자 의미
== 같음
!= 다름
> 초과
>= 이상
< 미만
<= 이하

 

비교 연산자는 불리언 값인 True False를 반환한다.

>>> x = 10
>>> x == 3
False
>>> x == 10
True
>>> x >= 7
True
>>> x < 8
False

 

만약 동시에 여러 개의 식을 비교해야 한다면, and, or, not과 같은 논리 연산자(logical operator)를 사용할 수 있다.

 

논리 연산자는 비교 연산자보다 우선 순위가 낮기 때문에, 비교 연산을 먼저 수행한 후 논리 연산을 진행하게 되는 부분을 이용한 것이다.

 

>>> x = 8
>>> x > 5 and x < 10
True

 

괄호를 추가하여 우선순위를 명확하게 할 수도 있다.

>>> x = 8
>>> (x > 5) and (x < 10)
True

 

다른 논리 연산자를 사용한 예시는 아래와 같다.

>>> x = 8
>>> x > 5 or x < 10
True
>>> x > 5 and x > 10
False
>>> x > 5 and not x > 10
True

 

위의 예시에서 알 수 있듯이, 논리 연산자의 역할은 아래와 같다.

논리 연산자 의미
and 둘 다 충족
or 둘 중 하나라도 충족
not 조건을 반대로 전환
반응형