##1. 비교연산자
: 파이썬에서는 비교를 위해 a > b, a < b , a >= b, a <= b , a == b , a != b , a is b 와 같은 비교연산자 기능을 가지고 있다. 결과값으로는 참일경우 True, 거짓일경우 False를 반환한다.
a > b
입력
a = 10 b = 5 a > b출력
True
a < b
입력
a = 10 b = 5 a < b출력
False
a >= b
입력
a = 10 b = 5 a >= b출력
True
a <= b
입력
a = 10 b = 5 a <= b출력
False
a == b
입력
a = "hello" b = "hello" a == b출력
True
a != b
입력
a = "hello" b = "hi" a != b출력
True
a is b
입력
a = "hello" b = "hello" a is b출력
True입력
a = 3 b = 3.0 a is b출력
False위의 예시에서 Fasle 값을 나타내는 이유?
: is 는 단순히 값을 비교하는게 아닌 객체를 비교하는 것이다. 3.0은 실수 객체이고 3은 정수객체이기 때문에 다른 객체로 서로 다른 주소를 참조한다. 따라서 False 값을 반환한다. 뒤에서 배울 list와 dictionary를 is로 비교하는경우 같은 값을 가지더라도 다른 주소를 참조하는 다른객체이기 때문에 이에 해당하므로 주의해야한다.
2. 논리연산자
: and, or, not 연산자가 이에 해당한다.
True : 1 , False : 0 으로 표현한다.
and 연산자
: 두 값이 같으면 같은 값을 출력하고 다르면 False를 출력한다.예시
입력
True and True # 1*1 = 1 False and False # 0*0 = 0 True and False # 1*0 = 0출력
True True False
or 연산자
: 둘 중 하나라도 True 이면 True, 둘 다 False 이면 False.예시
입력
True or True # 1+1 = 1 False or False # 0+0 = 0 True or False # 1+0 = 1 False or True # 0+1 = 1출력
True True False
not 연산자
: 뒤에오는 값을 부정하는 결과를 나타내는 연산자이다.- 예시
- 입력
not True not False - 출력
False True
4. 우선순위
: 파이썬에서의 논리연산자 우선순위는 다음과 같다.
not > and > or5. 단락평가
: 논리연산에서 첫 번째 값만으로 결과가 확실할 때 두 번째 값은 확인(평가)하지 않는 방법을 만한다. 단락평가를 실시한 값을 그대로 반환한다. and 연산자는 앞에 False 값이 나올 경우, 뒤에는 볼 것도 없이 무조건 False이므로 앞의 값을 반환하고, or 연산자는 앞에 True 값이 나올 경우, 뒤에는 볼 것도 없이 무조건 True이므로 앞의 값을 반환한다.
예시
입력
False and True # 앞의 False 값을 반환 True and False # 앞의 True 값을 반환출력
False True
가령, 문자열이나 숫자도 논리연산이 가능한데 문자열과 숫자는 bool값이 True에 해당한다.
- 예시
- 입력
True and 3 'hi' or False - 출력
3 'hi'
True and 3 의 경우 and 앞의 값이 True 이므로 뒤의 3까지 단락평가 후 3을 반환한다.
'hi' or False 의 경우 앞의 'hi' 는 문자열로 bool값이 True이므로 단락평가에 의해 or 뒤는 보지않는다. 따라서 'hi'가 반환된다.
단락평가에 의한 코딩을 자주접하게 될텐데, 논리연산을 할 때 단락평가에 의한 확률이 높은 조건을 앞에 두는 것이 유리하다.
'Python' 카테고리의 다른 글
| Python. day3 - 입력input( )과 출력 print( ) (0) | 2023.12.12 |
|---|---|
| Python. day 2 - 문자열에 대해 알아보자 (0) | 2023.12.12 |
| Python. day 2 - 자료형에 대해 알아보자 (0) | 2023.12.11 |
| Python. day2 - 변수란 무엇인가? (0) | 2023.12.11 |
| python. day1 - 산술 연산자 (0) | 2023.12.09 |