2025.03.03(월) 슈퍼코딩 AI/DATA Day 8 일일보고 - 데이터타입 논리형 (bool)

Honey_Bunny·2025년 3월 3일

슈퍼코딩

목록 보기
10/23

논리형 (bool)

  • 참(True)과 거짓(False)을 표현
  • 조건문 if에서 사용

거짓(False) 값들

  • False - bool 타입의 False 리터럴
  • 0
  • 비어있는 리스트(list), 사전(dict), 튜플(tuple), 집합(set) 등
  • "", '' - 비어있는 문자열
  • None - null 값

print(False, type(False))
print(bool(0))          #수자 0
print(bool(""))         #empty string
print(bool(''))         #empty string
print(bool(""""""))     #empty string
print(bool(''''''))     #empty string
print(bool([]))         #empty list
print(bool(()))         #empty tuple
print(bool({}))         #empty dict, set
print(bool(None))       #null value
print(bool(1000/2 * 0)) #위의 거짓 값들로 계산되는 식 또는 함수
출력 : False <class = 'bool'>
출력 : False
출력 : False
출력 : False
출력 : False
출력 : False
출력 : False
출력 : False
출력 : False
출력 : False

참(True) 값들

  • True - bool 타입의 True 리터럴
  • 위 거짓값들 이외의 의미있는 다른 모든 값들

print(True, type(True))
print(bool(1))
print(bool(-1))
print(bool(0.000234))
print(bool([1,2]))
print(bool("홍길동"))
print(bool([False]))    #아무 값이라도 들어 있는 list, set, dict, tuple 등은 참값을 가진다
print(bool([None]))     #아무 값이라도 들어 있는 list, set, dict, tuple 등은 참값을 가진다
print(bool([[]]))       #아무 값이라도 들어 있는 list, set, dict, tuple 등은 참값을 가진다
print(bool("''"))       #empty 문자열에 empty 문자열이 들어 있어도 참값을 가진다
출력 : True <class = 'bool'>
출력 : True
출력 : True
출력 : True
출력 : True
출력 : True
출력 : True
출력 : True
출력 : True
출력 : True

논리형 리터럴을 숫자로 변형하면 True 는 1, False 는 0의 값을 가진다

논리값을 int 로 변환하면

int_true = int(True)
int_false = int(False)
print(int_true, int_false)

논리값 float 로 변환하면

float_true = float(True)
float_false = float(False)
print(float_true, float_false)

True

True
1, 123, -0.0000123
"홍길동", "''"
[1,2]
[[]]
[false], [None]

False

False
0
"", '', """""", ''''''
[], (), {}
None

논리형 연산자

  • x or y : x와 y 중에 하나라도 참일 때 참(True), 아니면 거짓(False)
  • x and y : x와 y가 모두 참일 때 참(True), 아니면 거짓(False)
  • not x : x가 참일 때 거짓(False), 거짓이면 참(True)
  • x in collection : x가 collection 안에 포함될 때 참(True), 아니면 거짓(False)
  • x not in collection : x가 collection 안에 포함되지 않을 때 참(True), 아니면 거짓(False)

a = True
b = False
print(a or b)
print(a and b)
print(not b)
print(1 in [1, 2, 3, 4])
print(4 not in [1, 2, 3, 4])
출력 : True
출력 : False
출력 : True
출력 : True
출력 : False

관계형 연산자

  • 결과 값은 논리값 (True, False)
  • 대소 관계와 상등관계를 나타내는 연산자로 결과값이 논리값이다

">" 크다
"<" 작다
">=" 크거나 같다
"<=" 작거나 같다
"==" 같다
"!=" 같지 않다

print( 5 > 1 )
print( 4 >= 2 and 4 >= 4)
print( 5 < 4 )
print( 5 <= 10 )
print( 1.2e2 == 120)
print( """""" == "")
print( "abc" != "ABC")
출력 : True
출력 : True
출력 : False
출력 : True
출력 : True
출력 : True
출력 : True

주의 할것들

print( False == [])
print( False == bool([]))

print( False == [])은 type([]) = list type이고, type(False) = bool type이기 때문에
다른 객체 이므로 같은 것으로 분류 될 수 없기 때문에 false가 나오는것.

출력 : False
출력 : True

많은 경우 논리형 연산자와 관계형 연산자는 함께 쓰인다

name = "고길동"
print(name == "홍길동" or name == "홍길순")
Num1, num2 = 244, 4
print( num1/num2 > 60 and num1 <= 1000)

profile
현재 : C# WPF 개발자 / 목표 : AI 의료 영상 분석 연구원

0개의 댓글