[플레이데이터 빅데이터 부트캠프]Python 논리 연산자

연산의 순서

비교 연산자(is, is not, ==, !=, <, >, <=, >=)를 먼저 판단하고 논리 연산자(not, and, or)를 판단한다.

((1 == 1) and (1 != 2))
True

1 == and 1 != 2
True

and 연산자 : 두 값이 모두 참이어야 참으로 인식한다.

arr = [0, 2, 3]
if (0 and 0 and 4) in arr :
  print('참')
else:
  print('거짓')
참

논리 연산을 할 때, 단락 평가(첫번째 값으로 결과가 확인하면, 두번째 값은 평가하지 않는 방법)를 주의한다. 

arr = [0, 2, 3]
if (0 in arr) and (0 in arr) and (4 in arr):
  print('참')
else:
  print('거짓')
거짓

or 연산자: 두 값 중 하나만 참이면 참으로 인식한다.

arr = [0, 2, 3]
if (0 or 0 or 3) in arr :
  print('참')
else:
  print('거짓')
참

비트 연산자(&, |, ^, ~, <<, >>)는 비트 연산을 할 때, 사용하는 연산자이다.

  arr = [1, 2, 3]
if (1 | 2 | 3) in arr :
  print('참')
else:
  print('거짓')
참

not 연산자 : 논리값의 반대값을 출력한다.

not True
False

(((not True) and False) or (not False))
True
(not (1 == 3)) and (not(4 != 4))
True

not(5 !=3) and (2 == 3)
False