본문 바로가기
Python/Python 개념

파이썬 조건문

by hyun-am 2020. 3. 28.

조건문(condition)

 

조건문

 

조건문 이란

 

특정 조건을 만족하는 경우에만 수행할 작업이 있는 경우에 사용합니다.

모든 조건은 boolean(true, false)로 표현 됩니다.예외 사항은 나중에 예시를 보여주겠습니다.

if, elif, else 키워드를 사용합니다. (else if가 아닌 elif)

조건문의 경우 if, elif, else 블록에 종속된 코드는 들여쓰기로 표현 가능(space 4번)

즉 아래의 코드에서와 같이, 조건문 아래에 들여쓰기된 2줄의 코드만이 조건문의 조건에 따라 수행될 수도, 수행 되지 않을 수도 있는 코드라고 할 수 있습니다.

들여쓰기 된 코드를 블록(block), 또는 코드블록이라고 합니다.

python에서는 모든 블록의 시작점의 마지막에는 :(콜론)을 추가해야 합니다.

 

조건문 예시

 

if 100 >= 30:
    print('100은 30보다 크다')
    print('이것은 참입니다.')
print('이 구문은 블록 밖에 있는 구문입니다.')

## 출력 값
# 100은 30보다 크다
# 이것은 참입니다.
# 이 구문은 블록 밖에 있는 구문입니다.

if 100 == 30:
    print('100은 30보다 크다')
    print('이것은 참입니다.')
print('이 구문은 블록 밖에 있는 구문입니다.')

## 출력 값
# 이 구문은 블록 밖에 있는 구문입니다.

 

조건문에서 논리식

 

조건문에 사용되는 조건의 경우, boolean이기 때문에 논리식 AND, OR, NOT이 사용 가능합니다.

논리표는 아래와 같습니다.

 

진리표

조건1 조건2 AND OR NOT
T T T T F
T F F T F
F T F T T
F F F F T

논리식을 사용하는 예시는 아래와 같습니다.

 

a = 10
b = 20
c = 30

if(a == 10 or b ==15) and c ==30:
    print('true')

## 출력 값 
# true
# 이유(a == 10(T) or b == 15(F))이것은 T 입니다. 또한 c==30 또한 T 이므로
# T and T = T 이므로 if블록 안에 있는 print 문이 출력됩니다.

 

If의 조건이 bool이 아닌 경우가 있습니다.

 

일반적으로 조건문에는 bool이 주로 위치하는데 정수, 실수, 문자열 리스트 등 기본 타입도 조건에 사용 가능합니다.

False로 간주되는 값은 아래와 같습니다.

  • None
  • 0
  • 0.0
  • ''
  • [ ] → 빈 리스트
  • ( ) → 빈 튜플
  • { } → 빈 딕셔더리
  • set( ) → 빈 집합

 

나머지 값들은 True로 간주합니다.

a = { }
if a:
    print('print test')
## 출력값
# 조건문이 거짓이므로 출력되는 값이 없습니다. 

 

if, else 예시

 

if가 아닌 경우, 나머지 조건을 표현하고 싶다면 바로 아래 else 블락을 이용합니다.

이 경우, if조건이 True 인 경우, if 블록실행 만약 false인 경우 else 블록 실행입니다.

주의할 점은 if와 else 사이에 다른 코드 삽입 불가입니다.

 

a = 15
if a > 20:
    print('진실')
else:
    print('거짓')

## 출력 값
# 거짓

 

if, elif, else 예시

 

조건이 여러개인 경우 다음 조건을 elif 블록에 명시하여 사용합니다.

이 경우, 각 조건을 확인 후, True인 조건의 코드 블락을 실행 한 후, 전체 if, elif, else 구문을 종료

 

조건문을 사용할 때는 if 이후, 0개 이상의 elif 사용 가능

또한 0개나 1개의 else 문을 사용할 수 있습니다.

 

코드 예시는 아래와 같습니다.

a = 15
if a % 3 == 0:
    print('a 는 3로 나누어 집니다.')
elif a % 3 == 1:
    print('a는 3로 나누면 나머지가 1입니다.')
elif a % 3 == 2:
    print('a는 3으로 나누면 나머지가 2입니다.')
else:
    print('a는 3으로 나누어 지지 않습니다.')

## 출력 값
# a는 3으로 나누어 집니다.

 

만약 elif 대신 if로 사용하면 값이 다음과 같이 변합니다. 따라서 if와 elif를 잘 사용해서 표현해야 합니다.

a = 15
if a % 3 == 0:
    print('a는 3로 나누어 집니다.')
if a % 3 == 1:
    print('a는 3로 나누면 나머지가 1입니다.')
if a % 3 == 2:
    print('a는 3으로 나누면 나머지가 2입니다.')
else:
    print('a는 3으로 나누어 지지 않습니다.')

## 출력값
# a는 3로 나누어 집니다.
# a는 3으로 나누어 지지 않습니다.

 

 

'Python > Python 개념' 카테고리의 다른 글

파이썬 함수 - 기초  (0) 2020.03.29
파이썬 반복분(While)  (1) 2020.03.29
파이썬 반복문(for)  (0) 2020.03.28
파이썬 Dictionary의 개념  (1) 2020.03.28
파이썬 List, Tuple의 개념  (0) 2020.03.28

댓글