다양한 연산자를 사용하여 변수와 값에 대해 연산을 수행할 수 있습니다. 다음과 같은 종류로 나뉩니다.
- 산술 연산자
- 비교 연산자
- 논리 연산자
- 할당 연산자
- 비트(Bitwise) 연산자
- 멤버십 연산자
- 식별 연산자
산술 연산자
수학적인 연산을 수행하는 데 사용됩니다.
| 연산자 | 설명 | Example |
|---|---|---|
| + | 더하기 | 5 + 3 -> 8 |
| – | 빼기 | 5 – 3 -> 2 |
| * | 곱하기 | 5 * 3 -> 15 |
| / | 나누기 | 5 / 3 -> 1.6667 |
| ** | 제곱 | 5 ** 3 -> 125 |
| // | 정수 몫 | 5 // 3 -> 1 |
| % | 나머지 | 5 % 3 -> 2 |
비교 연산자 (관계연산자)
비교 연산자는 두 값을 비교하고, 결과로 True 또는 False를 반환합니다.
| 연산자 | 설명 | Example |
|---|---|---|
| == | 같음 | 5 == 3 -> False |
| != | 같지 않음 | 5 != 3 -> True |
| <> | 같지 않음 | != 와 유사 |
| > | 큼 | 5 > 3 -> True |
| < | 작음 | 5 < 3 -> False |
| >= | 크거나 같음 | 5 >= 3 -> True |
| <= | 작거나 같음 | 5 <= 3 -> False |
논리 연산자
a 의 값은 10, b는 20 이라고 한다면
| 연산자 | 설명 | Example |
|---|---|---|
| and | 그리고 | True and False -> False |
| or | 또는 | True or False -> True |
| not | 부정 | not True -> False |
할당 연산자
할당 연산자는 변수에 값을 할당하거나, 변수의 값을 업데이트하는 데 사용됩니다.
| Operator | 설명 | Example |
|---|---|---|
| = | 할당 | a = 5 |
| += | 더한 후 할당 | a += 3 -> a = a + 3 |
| -= | 뺀 후 할당 | a -= 3 -> a = a – 3 |
| *= | 곱한 후 할당 | a *= 3 -> a = a * 3 |
| /= | 나눈 후 할당 | a /= 3 -> a = a / 3 |
| %= | 나머지를 구한 후 할당 | a %= 3 -> a = a % 3 |
| **= | 거듭제곱 후 할당 | a **= 3 -> a = a ** 3 |
| //= | 몫을 구한 후 할당 | a //= 3 -> a = a // 3 |
비트(Bitwise) 연산자
정수의 비트 단위로 연산을 수행합니다.
| 연산자 | 설명 | Example |
|---|---|---|
| & | Bitwise AND | 5 & 3 -> 1 |
| | | Bitwise OR | 5 | 3 -> 7 |
| ^ | Bitwise XOR | 5 ^ 3 -> 6 |
| ~ | Bitwise NOT | ~5 -> -6 |
| << | Bitwise Left Shift | 5 << 1 -> 10 |
| >> | Bitwise Right Shift | 5 >> 1 -> 2 |
멤버쉽 연산자
시퀀스(문자열, 리스트, 튜플 등) 안에 특정 값이 있는지 확인합니다.
| 연산자 | 설명 | Example |
|---|---|---|
| in | 시퀀스에 값이 포함되어 있는지 확인 | 5 in [1, 2, 3, 4, 5] -> True |
| not in | 시퀀스에 값이 포함되어 있지 않은지 확인 | 6 not in [1, 2, 3, 4, 5] -> True |
식별 연산자
두 객체가 동일한 객체인지 확인합니다. 이는 두 객체의 메모리 위치를 체크합니다.
| 연산자 | 설명 | Example |
|---|---|---|
| is | 두 객체가 동일한지 확인 | a is b |
| is not | 두 객체가 동일하지 않은지 확인 | a is not b |
a = [1, 2, 3]
b = a
c = [1, 2, 3]
print(a is b) # True, a와 b는 같은 객체를 참조
print(a is c) # False, a와 c는 다른 객체를 참조
print(a is not c) # True, a와 c는 다른 객체를 참조
연산자 우선 순위
괄호를 사용하여 명시적으로 표현하는 것을 추천하지만 다른 프로그래머의 코드를 참조할 경우 알아 둘 필요가 있다.
| Operator | Description |
|---|---|
| ** | 지수 |
| ~ + – | 보수, 단항 플러스와 마이너스 |
| * / % // | 곱하기, 나누기, 나머지, 몫 |
| + – | 덧셈과 뺄셈 |
| >> << | 좌우 비트 시프트 |
| & | 비트 AND |
| ^ | | 비트 XOR와 비트 OR |
| <= < > >= | 비교 연산자 |
| <> == != | 동등 연산자 |
| = %= /= //= -= += *= **= | 할당 연산자 |
| is is not | 식별 연산자 |
| in not in | 멤버십 연산자 |
| not or and | 논리 연산자 |