논리연산자는 문장에 따라 논리형(bool)의 결과 값이 나옵니다.
이는 조건문에 자주 사용될 수 있습니다.
"""
논리 연산자
==> 논리값(True/False)으로 연산
==> 목적 => 조건이 여러개인 경우 사용
가. and (그리고)
나. or (또는)
다. not (부정)
"""
먼저 and는 모든 조건값이 True일 때 ==> True 값을 반환하고
나머지의 경우에는 ==> False 값을 반환합니다.
#1. a and b ==> 그리고
print(True and True) # True
print(True and False) # False
print(False and True) # False
print(False and False) # False
print("="*40)
# 질문? : 4가 3보다 크고, 5와 6이 같은가?
print(4 > 3 and 5 == 6) # False
#print(4 > 3 and 5 < 6) # True
print("="*40)
# 질문 2 : n변수 값이 5의 배수이고 n2변수값보다 n변수 값이 큰가?*****
n = 10
n2 = 5
print(n % 5 == 0 and n > n2) # True
print("="*40)
or는 하나라도 True값을 나타내면 ===> 결과값으로 True를 반환하고
모든 값이 False일 때 ===> False 값을 반환합니다.
#2. a or b ==> 또는
print(True or True) # True
print(True or False) # True
print(False or True) # True
print(False or False) # False
print("="*40)
#질문 3 : 4가 2의 배수이거나 5가 2보다 작은가?
print(4 % 2 == 0 or 5 < 2) # True
print("="*40)
not은 부정의 값을 도출합니다.
True 값은 ===> False
False 값은 ===> True로 값을 반환합니다.
#3. not ==> 부정
print(not True) # False
print(not False) # True
그리고 중요한 것이 Python에서는
정수 0, 빈 문자열 " ", 빈 리스트 [ ], 빈 딕셔너리 { }, 그리고 None의 경우에도 False 값을 갖는다는 것입니다.
(조건문에서 사용)
그리고 나머지 데이터는 모두 True로 처리됩니다.
"""
* 심화 *****
True/False만 논리값으로 처리되는게 아니다.
일반 데이터도 논리값으로 처리된다.
1) False로 처리하는 데이터 (***** x 100)
0 : 정수 0
"" : 빈 문자열
[] : 빈 리스트
{} : 빈 딕셔너리
None : None, Null
2) 나머지 데이터는 모두 True로 처리된다.
"""
print( not 0) #True
print( not "") #True
print( not []) #True
print( not {}) #True
print( not None) #True
print("="*40)
print( not 10) #False
print( not "aa") #False
print( not [10, 20]) #False
print( not {"name" : "Hong"}) #False
논리 연산자와 논리 데이터형에 대한 글은 여기서 마치고
다음 시간에는 멤버십 연산자에 대해 알아보도록 하겠습니다.
고롬 이만~
반응형
'SK 행복성장캠퍼스 > Python 기초' 카테고리의 다른 글
0901_2일차_Python08_문자열_생성방법_특징 (0) | 2020.09.04 |
---|---|
0901_2일차_Python08_멤버십연산자 (0) | 2020.09.04 |
0901_2일차_Python07_비교연산자 (0) | 2020.09.03 |
0901_2일차_Python07_대입연산자 (0) | 2020.09.03 |
0901_2일차_Python07_연산자1_산술연산자 (0) | 2020.09.03 |
댓글