Python | 불(boolean), 비교 연산자, 논리 연산자

Kate Jung·2020년 12월 3일
0

Python

목록 보기
1/4
post-thumbnail

개념

  • 불(boolean) : 참(True), 거짓(False)을 나타냄

  • 비교 연산자: 두 값의 관계를 판단

    논리 연산자: 두 값의 논릿값을 판단

    → 둘 다 프로그래밍에서 매우 광범위하게 쓰임

    → if, while 구문을 작성할 때 자주 사용함.

불과 비교 연산자

비교 연산자의 판단 결과

  • 파이썬에서는 비교/논리 연산자의 판단 결과로 True, False를 사용

숫자 같은지 다른지 비교할 때

  • 값 자체를 비교

  • equal: ==

    not equal : ! =

   >>> 10 == 10
   True
   >>> 10 != 5
   True
   >>> 10 != 10
   False
   >>> 10 == 5
   False

문자열이 같은지 다른지 비교하기

  • 문자열도 == 와 ! = 연산자로 비교 가능
  • 비교할 때: 대소문자 구분

부등호 사용

  • < ( 작다, 미만 )
  • > ( 크다, 초과 )
  • < = ( 작거나 같다, 이하 )
  • > = ( 크거나 같다, 이상 )

객체가 같은지 다른지 비교하기

  • is (같다), is not (다르다)
  • 객체를 비교
   >>> 1 is 1.0  # 1은 정수, 1.0은 실수
   False
   >>> 1 is not 1.0
   True

※ 주의

값을 비교 할 때 is 사용하면 안됨

변수a에 값(-5)을 할당하고 또 다시 다른 값(-6)을 할당한 뒤 a is -6을 실행하면 false 나옴.

→ 다른 객체가 되므로 값이 같더라도 is로 비교하면 false가 나옴.

논리 연산자

  • and, or, not이 있음

우선순위

  • not > and > or

    → 순서가 헷갈릴 때, 괄호로 우선순위를 나타내면 좋다.

not

  • 논릿값을 뒤집음

  • not True = False

    not False = True

and

  • 두 값이 모두 True 일 때만 True
    나머지 (하나라도 F라면) 는 모두 False

or

  • 두 값 중 하나라도 True이면 True됨
    두 값이 모두 False여야 False됨.

논리/비교 연산자 함께 사용하기

우선순위

  1. 비교 연산자 (is, is not, = =, ! = , <, >, < =, > = )
  2. 논리 연산자 ( not, and, or)
>>> 10 == 10 and 10 != 5  # T and T
True
>>> 10 > 5 or 10 < 3      # T and F
True
>>> not 10 > 5            # not T
False
>>> not 1 is 1.0          # not F
True

정수, 실수, 문자열을 불(bool)로 만들기

  • 위 3가지를 불로 만들때는 bool을 사용하면 됨.
   >>> bool('문자열 False는 트루 입니다.')
   True
  • False 일 때: 정수0, 실수 0.0, 빈 문자열 '',""

    True 일 때: False일 때 외에 모든 숫자와 문자열

단락 평가

첫 번째 값만으로 결과가 확실할 때 두 번째 값은 확인(평가)하지 않는 방법

※ 주의:

  • 파이썬에서 논리 연산자는 마지막으로 단락 평가를 실시한 값을 그대로 반환함.
>>> True and 'Python'  # 문자열 'Python'을 True로 쳐서 and 연산자가 두 번째 값까지 확인하므로 두 번째 값이 반환됨.
'Python'
>>> 'Python' and True
True
>>> 'Python' and False
False
  • and 연산자 앞에 False나 False로 치는 값이 와서 첫 번째 값만으로 결과가 결정나는 경우에는 첫 번째 값이 반환됨.
    >>> False and 'Python'
    False
    >>> 0 and 'Python'    # 0은 False이므로 and 연산자는 두 번째 값을 평가하지 않음
    0
  • or 연산자도 첫 번째 값만으로 결과가 결정될 수 있을 때 첫 번째 값이 반환됨.
    >>> True or 'Python'
    True
    >>> 'Python' or True
    'Python'
  • 만약 두 번째 값까지 판단해야 한다면 두 번째 값이 반환됨.
    >>> False or 'Python'
    'Python'
    >>> 0 or False
    False
profile
복습 목적 블로그 입니다.

0개의 댓글