[파이썬 기초] 자료형(Boolean)과 기본 연산

롬롬·2021년 7월 25일
1

파이썬 기초

목록 보기
3/6

안녕하세요!🤗 저번 포스팅에서는 숫자 자료형에 대해 알아봤는데요, 이번에는 불리언(Boolean)에 대해 소개하려 합니다. 파이썬 IDLE 또는 개발툴(IDE)을 실행해주세요 :)
(참고로, 저는 아나콘다의 주피터 노트북으로 실습을 하였습니다!)

불리언(Boolean): 참과 거짓

파이썬에서 참은 True, 거짓은 False로 표현합니다. Boolean은 논리연산과 비교연산을 사용합니다. Boolean을 정수로 표현하면, True는 1로, False는 0으로 표현할 수 있습니다.😝

논리 연산

먼저, 논리 연산자는 'And', 'Or', 'Not'이 있습니다.😮 3가지 논리 연산자의 차이를 잘 기억해주세요❗

  • And 연산자는 하나라도 거짓이 존재하면 False가 출력되고, 모두 참이야만 True가 출력됩니다.

    And 연산자

    True and False
    False
  • Or 연산자는 하나라도 참이 존재하면 True가 출력되고, 모두 거짓일 때만 False가 출력됩니다.

    Or 연산자

    True or False
      True
  • Not 연산자는 True는 False로, False는 True로 출력합니다.

    Not 연산자

    not True
      False

비교 연산

비교 연산은 말 그대로 비교할 때 사용됩니다. 어떤 연산자가 있는지 알아봅시다~!!😊

  • 같다(==)
    a==b 형태로 작성하며, a와 b가 같으면 True, 다르면 False가 출력됨.
    3 == 2 # 같다
    False
  • 같지 않다(!=)
    '=' 앞에 느낌표(!)를 붙여 사용하며, 같지 않으면 True, 같으면 False가 출력됨.
    3 != 2 # 같지않다
    True
  • 크다(>) / 크거나 같다(>=)
    • a > b : a가 b보다 크면(초과) True, 그렇지 않으면 False를 출력함.
    • a >= b : a가 b보다 크거나 같으면(이상) True, 그렇지 않으면 False를 출력함.
    3 > 2 #크다
    True
    3 >= 3 #크거나 같다
    True
  • 작다(<) / 작거나 같다(<=)
    • a < b : a가 b보다 작으면(미만) True, 그렇지 않으면 False를 출력함.
    • a <= b : a가 b보다 작거나 같으면(이하) True, 그렇지 않으면 False를 출력함.
    3 < 2 # 작다
    False
    3 <= 5 # 작거나 같다
    True
  • & 연산자
    논리 연산자 'And'와 비슷하게 작동됩니다. 논리 연산자인 And 연산을 생각해보면, 모두 True(1)일 때만 True(1)을 출력합니다. 따라서, & 연산자는 모두 1일 때만 1을, 둘 중 하나가 0이면 0으로 계산합니다. 아래의 예시를 살펴볼까요?
8 & 10
8

왜 이렇게 출력될까요? 8과 10을 이진수로 변경하면 알 수 있습니다!

bin(8) #8을 2진수로 : 0b1000
bin(10) #10을 2진수로 : 0b1010

앞에서 말했듯이, 모두 1이면 1을, 둘 중 하나라도 0이면 0으로 바꾼다고 생각하면 이해하기 쉽습니다.

1000 # 8의 이진수
1010 # 10의 이진수

따라서, 최종적으로 1000이 출력되며, 이는 다시 10진수로 8이므로, 8을 출력하게 되는 것 입니다.

  • | 연산자
    논리 연산자의 'Or'와 비슷하게 연산 작업을 수행합니다. Or 연산자는 둘 중 하나라도 True(1)면 True(1)를 출력한다는 것을 명심하고 아래 예시를 살펴봅시다.
8 | 10
10

| 연산자는 둘 중 하나라도 1이면 1을 출력하고, 모두 0일 때만 0을 출력합니다.

1000 # 8의 이진수
1010 # 10의 이진수

따라서, 1010을 출력이 되며, 이를 다시 10진수로 바꾸면 10이 되므로 최종적으로 10을 출력합니다.

  • 키보드에서 '|' 기호를 찾지 못하는 분들도 가끔 있더라구요! '|' 기호는 키보드에서 Backspace 바로 아래에 있습니다!
  • ~ 연산자
    논리 연산자의 'Not'과 비슷한 방법으로 작업을 수행합니다. Not 연산자는 True(1)은 False(0)으로, False(0)은 True(1)로 바꿔 출력합니다. 아래의 예시로 살펴봅시다!
~ 8
-7

2진수로 전환한 뒤 0은 1로, 1은 0으로 바꿔주면,

1010 # 8의 2진수
-0101 # ~ 8 결과

그러므로 최종적으로 -7이 출력됩니다.

논리 연산자와 비교 연산자

논리 연산자와 비교 연산자를 각각 사용할 수도 있겠지만, 일반적으로 두 연산자는 혼합되어 사용되는 경우가 많습니다. 저는 데이터를 전처리 하거나 분석을 위한 Feature Engineering 작업을 할 때 논리 연산자와 비교 연산자를 자주 사용하는 편입니다. 무튼, 아래의 예시를 통해 어떻게 두 연산자가 혼합되어 사용되는 지 살펴봅시다~!😤

  • ex1)
7>0 and 7<10
True

and를 기준으로 왼쪽 식은 True를 출력하고, 오른쪽도 True를 출력합니다. 따라서, True and True 는 True를 리턴하게 됩니다.

  • ex2)
8%2 == 0 or 8%3 == 0 
# 8을 2로 나눴을 때의 나머지=0? 
# 8을 3으로 나눴을 떄의 나머지=0?
True

or를 기준으로 왼쪽 식은 True 출력하고, 오른쪽 식은 False를 출력합니다. 따라서, True or False 는 True를 리턴하게 됩니다.

  • ex3) 7월의 계절 출력하기 (아직 다루지 않은 if문과 문자열 출력 등의 내용을 담고 있습니다..! 다음에 천천히 이해하기 쉽도록 정리해서 포스팅할게요😉)
month = 7 # 7월의 계절을 출력해야하므로, month 변수 선언
if month >= 3 and month < 6: # 논리 연산자와 비교 연산자 사용
	print(str(month)+"월의 계절은 봄!") # str() 메서드: 숫자-> 문자
elif month >= 6 and month < 9:
	print(str(month)+"월의 계절은 여름!") # 변수와 문자열 출력
elif 9 <= month < 12: # 이렇게도 작성할 수 있어요!!
	print(str(month)+"월의 계절은 가을!")
else:
	print(month+"월의 계절은 겨울!")
7월의 계절은 여름!

month가 6보다 큰 동시에 9보다 작으므로 "7월의 계절은 여름!"을 출력하게 됩니다!

불리언(Boolean) 자료형과 기본 연산 끝!

불리언(Boolean)은 참과 거짓의 표현이며, 불리언의 연산을 수행해보았습니다. 논리 연산과 비교 연산 이해되셨나요??😚 논리 연산과 비교 연산은 보통 같이 사용한다는 사실도 꼭 기억해주세요! 다음 포스팅은 자료형 중 문자열에 대해 알아볼 예정입니다. 자료형과 기본 연산과 관련된 포스팅이 모두 끝나면, 예제 3번과 같은 문제를 5개정도 만들어서 올릴 계획입니다! 그럼 다음 포스팅 때 만나요~!🤍

전공 수업의 강의 자료를 참고하여 포스팅하고 있습니다 :)

profile
🤗🤗🤗

0개의 댓글