(파이썬) 불과 비교

·2023년 6월 3일
0

Python

목록 보기
2/11

이번에는 참과 거짓을 이용한 논리 연산자 이용 공부다.

True
False
3>1 True # 3은 1보다 크므로 True 값을 출력
3>5 False # 3은 5보다 작으므로 잘못된 식 False를 출력

10 == 10 # True -> 같은 값이므로 true를 반환
10 != 10 # False -> 같은 값이므로 !=는 잘못된 연산자 즉 False를 반환

'python' == 'Python' # False 문자열도 비교가 가능하다. 
                     #문자열은 대소문자 역시 구분되기 때문에 python 과 Python은 다른값으로 인식되어 False로 반환된다.

'Python' == 'Python' True
                 

1. 객체가 같은지 다른지를 비교해보자.

정수의 객체와 실수의 객체가 서로 다른지를 확인하기 위해서는 id 함수를 사용한다.
id 함수는 객체의 메모리 주소를 출력하는걸 확인할 수 있다.

id(1)
= 2821033754864
id(1.0)
= 2821141580496

is와 is not은 객체를 비교할 때 사용하고 연산자와 is, is not의 동작 방식이 다르다는 점만 인지하고 있으면 된다.

값을 비교할때는 is를 사용하면 안된다.

2. 논리 연산자

논리 연산자는 and, or, not가 있다.

a and b
and 연산자는 두 개의 값이 모두 True인 경우에만 True 값을 배출한다.

True and True = True
True and False = False
False and False = False
False and True = False

or 연산자는 두 개의 값중 한 개의 갓만 True라면 True 값을 배출한다.

True or True = True
True or False = True
False or False = False
False or True = True

not 연산자는 값을 뒤집는다.

not True = False
not False = True

만약 식 하나에 and, or ,not 연산자가 모두 포함되어 있다면 not, and, or 순으로 판단하면 된다.

not True and False or not False
= (not True)and False) or (not False)
not True = False 
not False = True
False and False or True # 위의 식은 아래와 같으며 여기서 and를 먼저 실행한다
False or True # or 연산자는 한 개의 값만 True라면 True 값을 출력하기 때문에 값은 True
True

논리 연산자와 비교 연산자를 함께 사용한다면

10 == 10 and 10 !=5 
= True

논리 연산자와 비교 연산자를 함께 사용할 때 생각해야 할 것은 비교 연산자를 우선 판단하고 이후에 논리 연산자를 판단하는 순서를 기억 해야한다.

3. Bool

bool은 정수, 실수, 문자열을 True, False값으로 반환해 준다.

bool(0) = False
bool(1) = True
bool(1.5) = True
bool('False') = True

위와 같이 bool이 같는 값이 0이라면 False를 출력하고 0이외의 값이 있다면 True 값을 반환한다. 여기서 생각할 점은 'False' 문자열안에 들어있는 False는 True값을 반환하게 되는데 bool이 문자열 안의 내용은 판단하지 않기 때문이다.
그러면 문자열에서 False 값은 무엇일까? 바로 빈 문자열이다.

bool('') = False
profile
잘하자

0개의 댓글