파이썬 기본 연산자 마스터하기: 산술, 비교, 논리, 비트와이즈 등
이전 페이지 다음 페이지
연산자는 피연산자의 값을 조작하는 구조입니다.
표현식 4 + 5 = 9를 고려해 보세요. 여기서 4와 5를 피연산자(operand)라고 하고 +를 연산자(operator)라고 합니다.
연산자 유형
파이썬 언어는 다음 유형의 연산자를 지원합니다.
- 산술 연산자(Arithmetic Operators)
- 비교(관계) 연산자(Comparison/Relational Operators)
- 할당 연산자(Assignment Operators)
- 논리 연산자(Logical Operators)
- 비트와이즈 연산자(Bitwise Operators)
- 멤버십 연산자(Membership Operators)
- 아이덴티티 연산자(Identity Operators)
각 연산자를 하나씩 살펴보겠습니다.
파이썬 산술 연산자
변수 a가 10이고 변수 b가 20이라고 가정하면:
[ 예제 보기 ]
| 연산자 | 설명 | 예제 |
| + 덧셈 | 연산자 양쪽의 값을 더합니다. | a + b = 30 |
| - 뺄셈 | 왼쪽 피연산자에서 오른쪽 피연산자를 뺍니다. | a - b = -10 |
| * 곱셈 | 연산자 양쪽의 값을 곱합니다. | a * b = 200 |
| / 나눗셈 | 왼쪽 피연산자를 오른쪽 피연산자로 나눕니다. | b / a = 2 |
| % 나머지 | 왼쪽 피연산자를 오른쪽 피연산자로 나누고 나머지를 반환합니다. | b % a = 0 |
| ** 거듭제곱 | 연산자에 지수(거듭제곱) 계산을 수행합니다. | a**b = 10의 20제곱 |
| // | 내림 나눗셈 - 피연산자 나누기에서 소수점 이하 자릿수가 제거된 몫을 결과로 합니다. 단, 피연산자 중 하나가 음수면 결과는 내림됩니다(0에서 멀어지는 방향, 즉 음의 무한대 방향). | 9//2 = 4, 9.0//2.0 = 4.0, -11//3 = -4, -11.0//3 = -4.0 |
파이썬 비교 연산자
이 연산자들은 양쪽의 값을 비교하여 그들 사이의 관계를 결정합니다. 관계 연산자라고도 합니다.
변수 a가 10이고 변수 b가 20이라고 가정하면:
[ 예제 보기 ]
| 연산자 | 설명 | 예제 |
| == | 두 피연산자 값이 같으면 조건이 참이 됩니다. | (a == b)는 참이 아님. |
| != | 두 피연산자 값이 다르면 조건이 참이 됩니다. | (a != b)는 참. |
| <> | 두 피연산자 값이 다르면 조건이 참이 됩니다. | (a <> b)는 참. != 연산자와 유사. |
| > | 왼쪽 피연산자 값이 오른쪽보다 크면 조건이 참이 됩니다. | (a > b)는 참이 아님. |
| < | 왼쪽 피연산자 값이 오른쪽보다 작으면 조건이 참이 됩니다. | (a < b)는 참. |
| >= | 왼쪽 피연산자 값이 오른쪽보다 크거나 같으면 조건이 참이 됩니다. | (a >= b)는 참이 아님. |
| <= | 왼쪽 피연산자 값이 오른쪽보다 작거나 같으면 조건이 참이 됩니다. | (a <= b)는 참. |
파이썬 할당 연산자
변수 a가 10이고 변수 b가 20이라고 가정하면:
[ 예제 보기 ]
| 연산자 | 설명 | 예제 |
| = | 오른쪽 피연산자 값을 왼쪽 피연산자에 할당 | c = a + b는 a + b 값을 c에 할당 |
| += 더하기 할당 | 오른쪽 피연산자를 왼쪽 피연산자에 더하고 결과를 왼쪽 피연산자에 할당 | c += a는 c = c + a와 동일 |
| -= 빼기 할당 | 왼쪽 피연산자에서 오른쪽 피연산자를 빼고 결과를 왼쪽 피연산자에 할당 | c -= a는 c = c - a와 동일 |
| *= 곱하기 할당 | 오른쪽 피연산자를 왼쪽 피연산자에 곱하고 결과를 왼쪽 피연산자에 할당 | c *= a는 c = c * a와 동일 |
| /= 나누기 할당 | 왼쪽 피연산자를 오른쪽 피연산자로 나누고 결과를 왼쪽 피연산자에 할당 | c /= a는 c = c / a와 동일 |
| %= 나머지 할당 | 두 피연산자로 나머지 연산 후 결과를 왼쪽 피연산자에 할당 | c %= a는 c = c % a와 동일 |
| **= 거듭제곱 할당 | 거듭제곱 계산 후 결과를 왼쪽 피연산자에 할당 | c **= a는 c = c ** a와 동일 |
| //= 내림 나눗셈 할당 | 내림 나눗셈 수행 후 결과를 왼쪽 피연산자에 할당 | c //= a는 c = c // a와 동일 |
파이썬 비트와이즈 연산자
비트와이즈 연산자는 비트 단위로 작동하여 비트별 연산을 수행합니다. a = 60, b = 13이라고 가정하면, 이진 형식으로 0011 1100과 0000 1101입니다. 다음 표는 파이썬이 지원하는 비트와이즈 연산자와 예제를 나열합니다.
a = 0011 1100
b = 0000 1101
-----------------
a&b = 0000 1100
a|b = 0011 1101
a^b = 0011 0001
~a = 1100 0011
파이썬이 지원하는 비트와이즈 연산자는 다음과 같습니다.
[ 예제 보기 ]
| 연산자 | 설명 | 예제 |
| & 비트 AND | 두 피연산자 모두에 비트가 존재하면 결과에 비트 복사 | (a & b) (0000 1100을 의미) |
| | 비트 OR | 어느 한 피연산자에 비트가 존재하면 복사 | (a | b) = 61 (0011 1101을 의미) |
| ^ 비트 XOR | 한 피연산자에만 비트가 설정된 경우 복사(둘 다 아닌 경우) | (a ^ b) = 49 (0011 0001을 의미) |
| ~ 비트 1의 보수 | 단항 연산자로 비트를 '반전'시키는 효과 | (~a) = -61 (부호 있는 이진수로 2의 보수 형태인 1100 0011을 의미) |
| << 비트 좌측 시프트 | 왼쪽 피연산자 값을 오른쪽 피연산자로 지정된 비트 수만큼 왼쪽으로 이동 | a << 2 = 240 (1111 0000을 의미) |
| >> 비트 우측 시프트 | 왼쪽 피연산자 값을 오른쪽 피연산자로 지정된 비트 수만큼 오른쪽으로 이동 | a >> 2 = 15 (0000 1111을 의미) |
파이썬 논리 연산자
파이썬이 지원하는 논리 연산자는 다음과 같습니다. 변수 a가 10이고 변수 b가 20이라고 가정하면:
[ 예제 보기 ]
| 연산자 | 설명 | 예제 |
| and 논리 AND | 두 피연산자가 모두 참이면 조건이 참이 됩니다. | (a and b)는 참. |
| or 논리 OR | 두 피연산자 중 하나라도 0이 아니면 조건이 참이 됩니다. | (a or b)는 참. |
| not 논리 NOT | 피연산자의 논리 상태를 반전시킵니다. | Not(a and b)는 거짓. |
파이썬 멤버십 연산자
파이썬의 멤버십 연산자는 문자열, 리스트, 튜플 같은 시퀀스에서 멤버십을 테스트합니다. 두 가지 멤버십 연산자는 다음과 같습니다.
[ 예제 보기 ]
| 연산자 | 설명 | 예제 |
| in | 지정된 시퀀스에서 변수를 찾으면 참, 아니면 거짓. | x in y, 여기서 x가 시퀀스 y의 멤버면 1. |
| not in | 지정된 시퀀스에서 변수를 찾지 못하면 참, 아니면 거짓. | x not in y, 여기서 x가 시퀀스 y의 멤버가 아니면 1. |
파이썬 아이덴티티 연산자
아이덴티티 연산자는 두 객체의 메모리 위치를 비교합니다. 두 가지 아이덴티티 연산자는 다음과 같습니다.
[ 예제 보기 ]
| 연산자 | 설명 | 예제 |
| is | 연산자 양쪽의 변수가 같은 객체를 가리키면 참, 아니면 거짓. | x is y, 여기서 id(x)가 id(y)와 같으면 is 결과는 1. |
| is not | 연산자 양쪽의 변수가 같은 객체를 가리키면 거짓, 아니면 참. | x is not y, 여기서 id(x)가 id(y)와 다르면 is not 결과는 1. |
파이썬 연산자 우선순위
다음 표는 최고 우선순위에서 최저 우선순위까지 모든 연산자를 나열합니다.
[ 예제 보기 ]
| 번호 | 연산자 및 설명 |
| 1 | ** 거듭제곱(제곱) |
| 2 | ~ + - 보수, 단항 플러스와 마이너스(마지막 두 개의 메서드 이름은 +@와 -@) |
| 3 | * / % // 곱셈, 나눗셈, 모듈로, 내림 나눗셈 |
| 4 | + - 덧셈과 뺄셈 |
| 5 | >> << 우측 및 좌측 비트 시프트 |
| 6 | & 비트 'AND' |
| 7 | ^ | 비트 배타적 'OR' 및 일반 'OR' |
| 8 | <= < > >= 비교 연산자 |
| 9 | <> == != 등가 연산자 |
| 10 | = %= /= //= -= += *= **= 할당 연산자 |
| 11 | is is not 아이덴티티 연산자 |
| 12 | in not in 멤버십 연산자 |
| 13 | not or and 논리 연산자 |