Python/Do it 점프 투 파이썬

파이썬 프로그래밍 기초 - if문

goyoungii 2025. 3. 31. 11:00

if문

조건문을 테스트해서 "참"이면 if 블록을 수행하고, 조건문이 거짓이면 else 블록을 수행한다.

else문은 if문 없이 독립적으로 사용할 수 없다.

if문 기본 구조

if 조건문:
  수행할_문장1
  수행할_문장2
else:
  수행할_문장A
  수행할_문장B

 

- 들여쓰기

  : if문을 만들 때는 if 조건문: 바로 다음 문장부터 if문에 속하는 모든 문장에 들여쓰기를 해야한다.

  들여쓰기를 하지 않으면 오류가 발생한다. (들여쓰기는 언제나 같은 깊이로 해야한다.)

* 조건문 다음에 콜론(:)을 잊지 말자!
  : if 조건문 뒤에는 반드시 콜론(:)이 붙는다. 어떤 특별한 의미가 있다기 보다는 파이썬의 문법 구조이다.
  while, for, def, class도 문장 끝에 콜론(:)이 항상 들어간다.

 

if문 예제

>>> money = True
>>> if money:
...     print("택시를 타고 가라")
... else:
...     print("걸어가라")
...
택시를 타고 가라

 

비교 연산자(<, >, ==, !=, >=, <=)

비교 연산자 설명
x < y x가 y보다 작다.
x > y x가 y보다 크다.
x == y x와 y가 같다.
x != y x와 y가 같지 않다.
x >= y x가 y보다 크거나 같다.
x <= y x가 y보다 작거나 같다.

 

예제 1)

>>> x = 3
>>> y = 2
>>> x > y
True
>>> x < y
False
>>> x == y
False
>>> x != y
True

예제 2)

만약 3000원 이상의 돈을 가지고 있으면 택시를 타고 가고, 그렇지 않으면 걸어가라

>>> if money >= 3000:
...     print("택시를 타고 가라")
... else:
...     print("걸어가라")
...
걸어가라

 

and / or / not

연산자 설명
x or y x와 y 둘 중 하나만 참이어도 참이다.
x and y x와 y 모두가 참이어야 참이다.
not x x가 거짓이면 참이다.

예제 1)

돈이 3000원 이상 있거나 카드가 있다면 택시를 타고 가고, 그렇지 않으면 걸어가라

>>> money = 2000
>>> card = True
>>> if money >= 3000 or card:
...     print("택시를 타고 가라")
... else:
...     print("걸어가라")
...
택시를 타고 가라

in / not in

in not in
x in 리스트 x not in 리스트
x in 튜플 x not in 튜플
x in 문자열 x not in 문자열

예제 1)

>>> 1 in [1,2,3] # 1이 [1,2,3] 안에 있는가?
True
>>> 1 not in [1,2,3] # 1이 [1,2,3] 안에 없는가?
False

예제 2)

>>> pocket = ['paper', 'cellphone', 'money']
>>> if "money" in pocket:
...     print("택시를 타라")
... else:
...     print("걸어가라")
...
택시를 타라

pocket에 'money'가 있으므로 True가 된다.

 

pass - 조건문에서 아무 일도 일어나지 않게 설정

주머니에 돈이 있으면 가만히 있고, 돈이 없으면 카드를 꺼내라

>>> pocket = ['paper','money','cellphone']
>>> if 'money' in pocket:
...     pass
... else:
...     print("카드를 꺼내라")
...

 => pass가 수행되고 아무런 결괏값도 보여주지 않는다.

 

다양한 조건을 판단하는 elif

예제 1) if와 else만으로 표현한 경우

주머니에 돈이 있으면 택시를 타고 가고, 주머니에 돈은 없지만 카드가 있다면 택시를 타고 가고, 돈도 없고 카드도 없으면 걸어가라

>>> pocket = ['paper', 'cellphone']
>>> card = True
>>> if 'money' in pocket:
...     print("택시를 타고 가라")
... else:
...     if card:
...         print("택시를 타고 가라")
...     else:
...         print("걸어가라")
...
택시를 타고 가라

예제 2) elif 사용하기

elif는 이전 조건문이 거짓일 때 수행된다.

갯수 제한없이 쓸 수 있다.

>>> pocket = ['paper','cellphone']
>>> card = True
>>> if 'money' in pocket:
...     print("택시를 타고 가라")
... elif card:
...     print("택시를 타고 가라")
... else:
...     print("걸어가라")
...
택시를 타고 가라

 

if문을 한 줄로 작성하기

>>> if 'money' in pocket:pass
... else:print("카드를 꺼내라")
...
카드를 꺼내라

 

elif 구조

if 조건문:
  수행할_문장1
  수행할_문장2
  ...
elif 조건문1:
  수행할_문장1
  수행할_문장2
  ...
elif 조건문2:
  수행할_문장1
  수행할_문장2
  ...
else:
  수행할_문장1
  수행할_문장2
  ...

조건부 표현식

조건부 표현식은 가독성에 유리하고 한 줄로 작성할 수 있어서 좋다.

변수 = 조건문이_참인_경우의_값 if 조건문 else 조건문이_거짓인_경우의_값
>>> score = 60
>>> message = "success" if score >= 60 else "failure"
>>> print(message)
success
>>> score = 40
>>> message = "success" if score >= 60 else "failure"
>>> print(message)
failure