1. 논리 연산자
논리값과 놀리값을 비교하는 연산을 할 때는 논리 연산자를 사용합니다. 주로 비교 연산자와 같이 사용되며 이는 비교 연산자의 결과값이 놀리값이기 때문입니다. 또한 비교 연산자는 논리 연산자보다 우선 순위가 높기 때문에 비교 연산자들을 연결하는 연산자로 논리 연산자를 사용할 수 있습니다.
논리 연산에는 논리합, 논리곱, 논리 부정이 있습니다. 참고로 컴퓨터는 1을 참으로 0을 거짓으로 인식합니다. 이때, and 연산을 논리곱, or 연산을 논리합이라고 합니다. and 연산에서는 1을 아무리 곱했다 하더라도 그 식에 0을 한 번만 곱해도 최종 결과값은 0이 됩니다. or 연산에서는 0을 아무리 더했다 하더라도 그 식에 1을 한 번만 더해도 최종 결과값은 1이 됩니다. 다시 말해, Ture and False의 결과값은 False 이지만, Ture or False의 결과값은 True입니다.
Code
isTrue = True and True
print("True and True : ", isTrue)
isTrue = True and False
print("True and False : ", isTrue)
isTrue = False and False
print("False and False : ", isTrue)
isTrue = True or True
print("True or True : ", isTrue)
isTrue = True or False
print("True or False : ", isTrue)
isTrue = False or False
print("False or False : ", isTrue)
2. 삼항 연산자
삼항 연산자는 if와 else 사이에 조건식을 놓고 조건식이 참이면 if 앞의 문장을 실행하고 조건식이 거짓이면 else 뒤에 문장을 실행합니다.
코드 구조
문장1 | if | 조건식 | else | 문장2
문장1은 조건식이 참일 때 실행
문장2는 조건식이 거짓일 때 실행
Code
number = int(input("input number : "))
result = "it's bigger than 50" if number > 50 else "it's small than 50"
print("True") if True else print("False")
3. 단항 연산자
파이썬 단항 연산자에는 ~, +, - 등이 있습니다. 이와 같은 단항 연산자는 산술 연산과 달리 이항 연산이 아닌, 즉 두 항을 연결하여 연산하는 것이 아니라 하나의 항의 값에 대해 부호로써 사용됩니다.
4. 연산자의 우선순위
연산자를 실행할 때는 실제 수학 계산과 마찬가지로 각 연산자 간에 우선순위가 존재합니다. 산술 연산자에는 곱하기, 나누기 연산자가 더하기, 빼기 연산자보다 더 높은 우선순위를 가집니다. 또한 산술 연산자보다는 단항 연산자가, 단항 연산자보다는 지수 연산자인 ** 이 더 높은 우선순위를 가집니다. 하지만 가장 먼저 실행하는 식은 수학과 마찬가지로 괄호 안에 있는 식입니다. 상대적으로 낮은 우선순위에는 관계, 비교, 논리, 비트, 대입, 복합 대입 연산이 있습니다.
연산자의 우선순위
- () 괄호 | [] 인덱스 | ** 지수 연산자
- ~ + - 단항 부호 연산자 | * / // % 곱하기, 나누기, 나머지 연산자 | + - 덧셈 뺄셈 연산자
- == != > < >= <= 관계 비교 연산자
- and or 논리 연산자
- << 비트 시프트 연산 | & ^ | 비트 논리 연산자
- = += *= /= %= 대입 연산자, 복합 대입 연산자
[Confer]
연산 과정에서 일반적으로 대부분의 연산은 왼쪽에서 오른쪽으로 진행되지만 단항 연산이나 대입 연산의 경우는 이와 반대인 오른쪽에서 왼쪽으로 진행합니다.
'Python' 카테고리의 다른 글
파이썬 중첩 if문과 while문 (0) | 2023.07.06 |
---|---|
파이썬 if 조건문 (0) | 2023.07.03 |
파이썬 산술, 비교, 대입 연산자 (0) | 2023.06.27 |
파이썬 문자형, 논리형, 참조형 (0) | 2023.06.21 |
파이썬 자료형 (0) | 2023.06.18 |
댓글