본문 바로가기
Python 코딩도장

파이썬 코딩도장 Unit 14 정리 : else

by chanfficial 2022. 1. 13.

Unit 14

1. else 사용하기

  • else는 if 조건문 뒤에 오며 단독으로는 사용할 수 없다.
  • else는 if의 조건식이 만족하지 않을 때 코드를 실행한다.
  • else는 if와 마찬가지로 뒤에 : (콜론)을 붙이며 다음줄에 실행할 코드를 들여쓴다.
    >>> x = 5
    >>> if x == 10:
        	print('10입니다.')
     else:
            print('10이 아닙니다.')

 

※ 변수에 값 할당하는 것을 if, else로 축약하기

# 변수 x에 10이 들어있으면 y에 x를 할당하고
# 아니면 y에 0을 할당하는 코드
>>> x = 5
>>> if x == 10 :
		y = x
    else :
    	y = 0
>>> y
0

- 이렇게 if, else에서 변수에 값을 할당할 때는 변수 = 값 if 조건문 else 값 형식으로 축약할 수 있으며 이런 문법을 조건부 표현식(conditional expression)이라고 부른다.

# 조건부 표현식
>>> x = 5
>>> y = x if x == 10 else 0
>>> y
0

- 이러한 조건부 표현식은 람다 표현식에서 자주 사용한다.

 

 

2. if 조건문의 동작방식

  • True, False, None으로 조건문을 작성할 때, True와 False는 당연히 참, 거짓이지만 변수에 들어있는 값이나 함수의 결과가 None인 경우에는 False로 취급된다.
    if True:
        print('참') # True는 참
    else:
        print('거짓')
     
    if False:
        print('참')
    else:
        print('거짓') # False는 거짓
     
    if None:
        print('참')
    else:
        print('거짓') # None은 거짓​
  • 숫자는 정수(2진수, 10진수, 16진수), 실수와 관계없이 0이면 거짓, 0이 아닌 수는 참이다.
    if 0:
        print('참')
    else:
        print('거짓') # 0은 거짓
     
    if 1:
        print('참') # 1은 참
    else:
        print('거짓')
     
    if 0x1F: # 16진수
        print('참') # 0x1F는 참
    else:
        print('거짓')
    
    if 0b1000: # 2진수
        print('참') # 0b1000은 참
    else:
        print('거짓')
     
    if 13.5: # 실수
        print('참') # 13.5는 참
    else:
        print('거짓')​
  • 문자열은 내용이 있으면 참, 빈 문자열은 거짓이다.
    if 'Hello': # 문자열
        print('참') # 문자열은 참
    else:
        print('거짓')
     
    if '': # 빈 문자열
        print('참')
    else:
        print('거짓') # 빈 문자열은 거짓​

   → 값 자체가 있으면 if가 동작하고 반대로 0, None, '' 은 False로 취급하기 때문에 else가 동작한다.

 

3. 조건식을 여러 개 지정하기

  • if 조건문에서는 논리 연산자(and, or)를 사용하여 조건식을 여러 개 지정할 수 있다.
    x = 10
    y = 20
     
    if x == 10 and y == 20: # 조건식이 2개
        print('참')
    else:
        print('거짓')​
  • x가 양수이면서 20보다 작은지 판단할 때
    if x > 0:
        if x < 20:
            print('20보다 작은 양수입니다.')​
    먼저 이런 중첩 if 조건문을 and 논리 연산자를 사용하여 if 하나로 줄일 수 있다.
    if x > 0 and x < 20: 
    	print('20보다 작은 양수입니다.')​
    그런데 파이썬에서는  0 < x < 20 처럼 부등호를 연달아 사용할 수 있기 때문에, 이 조건식을 더 간단하게 만들 수 있다.
    if 0 < x < 20:
    	print('20보다 작은 양수입니다.')
     

   

 

정리 참조 

https://dojang.io/course/view.php?id=7 

 

강좌: 파이썬 코딩 도장

모두 펼치기모두 접기

dojang.io