[python] 불과 비교, 논리 연산자 알아보기

불과 비교 연산자 사용하기

참은 True, 거짓을 False

print(True, False)  # True False

값이 같은지 비교
문자열의 경우 대소문자까지 비교

print(10 == 10)  # True
print(10 != 10)  # False

부등호 사용

print(3 > 1)  # True
print(3 < 1)  # False

객체가 같은지 비교
==, != 는 값 자체를 비교, is, is not 은 객체를 비교(값 비교에 절대 쓰지 말 것)
두 객체가 같은지는 id(객체) 를 이용해서 확인 가능
id 는 객체의 주소 값을 반환

a = 1
b = 1
print(a is b)  # True
print(id(a), id(b))  # 2900451223856 2900451223856

논리 연산자 사용하기

논리 연산자로는 and, or, not이 있다
같이 있으면 not, and or 순으로 판단

print('***and***')
print(True and True)  # True
print(True and False)  # False
print(False and False)  # False

print('***or***')
print(True or True)  # True
print(True or False)  # True
print(False or False)  # False

print('***not***')
print(not True)  # False
print(not False)  # True

print('***not -> and -> or***')
print(not True and False or not False)  # True

정수, 실수, 문자열을 bool로 만들 때는 bool(정수, 실수, 문자열)
정수, 실수 또는 문자열은 0, 0.0, 빈 문자열이 아닌 이상 모두 True

print('***make bool***')
print(bool(0), bool(0.0), bool(''))  # False False False
print(bool(1), bool(0.1), bool('a'))  # True True True
print('\n')

논리 연산에서 연산 중 연산결과가 확실해진다면 그 이후의 부분은 연산하지 않는다.
논리 연산은 항상 bool을 반환하지는 않는다. 마지막으로 평가 실시한 값을 그대로 반환

print(True and 'python')  # python

Updated:

Leave a comment