본문 바로가기
카테고리 없음

파이썬 - 논리 연산자의 단축평가와 Falsy 값

by 윤뇽뇽

1. 논리연산자의 단축평가

논리연산 시 결과가 확실한 경우 두번째 값은 확인하지 않고 첫번째 값을 반환한다.

  • and 연산에서 첫번째 값이 False인 경우 무조건 False → 첫번째 값 반환
  • or 연산에서 첫번째 값이 True인 경우 무조건 True → 첫번째 값 반환

and 연산의 경우

print(3 and 5) #5
print(3 and 0) #0
print(0 and 3) #0
print(0 and 0) #0

앞의 값이 True인 경우 뒤의 값을 확인한 후 그 값을 출력하게 된다. (첫번째, 두번째 예시)

앞의 값이 0(False)인 경우 뒤의 값을 확인할 필요 없이 0이 출력된다. (세번째, 네번째 예시) 

 

or 연산의 경우

print(5 or 3) #5
print(3 or 0) #3
print(0 or 3) #3
print(0 or 0) #0

앞의 값이 True인 경우 뒤의 값을 확인할 필요 없이 첫번째 값을 출력한다. (첫번째, 두번째 예시)

앞의 값이 False인 경우 뒤의 값을 확인 한 후 그 값을 출력한다. (세번째, 네번째 예시)

2. Falsy값

False는 아니지만 False로 취급되는 값이 있다. 

Falsy값 설명
0 정수 0
0.0 실수 0
() 비어있는 튜플
[] 비어있는 리스트
{} 비어있는 딕셔너리
None None값
"", '' 빈 문자열

이외에는 모두 Truthy값이며,

정수 0을 제외한 모든 숫자/빈 문자열을 제외한 모든 문자열은 True로 취급된다.

댓글