파이썬에서 연산자는 변수와 값에 대해 산술, 논리, 비교, 할당, 비트 연산 등을 수행하는 데 사용된다. 다양한 연산자를 통해 여러 가지 연산을 효과적으로 처리할 수 있다. 다음은 파이썬에서 사용되는 주요 연산자들에 대한 설명이다.
1. 산술 연산자 (Arithmetic Operators)
산술 연산자는 기본적인 수학 연산을 수행한다.
+ (덧셈): 두 값을 더한다.
- (뺄셈): 첫 번째 값에서 두 번째 값을 뺀다.
* (곱셈): 두 값을 곱한다.
/ (나눗셈): 첫 번째 값을 두 번째 값으로 나눈다. (실수 결과)
// (정수 나눗셈): 첫 번째 값을 두 번째 값으로 나눈 후 정수 부분만 반환한다.
% (나머지): 첫 번째 값을 두 번째 값으로 나눈 후 나머지를 반환한다.
** (거듭제곱): 첫 번째 값을 두 번째 값만큼 거듭제곱한다.
a = 10
b = 3
print(a + b) # 출력: 13
print(a - b) # 출력: 7
print(a * b) # 출력: 30
print(a / b) # 출력: 3.3333333333333335
print(a // b) # 출력: 3
print(a % b) # 출력: 1
print(a ** b) # 출력: 1000
2. 비교 연산자 (Comparison Operators)
비교 연산자는 두 값을 비교하고 그 결과로 불리언 값을 반환한다.
== (같다): 두 값이 같은지 비교한다.
!= (같지 않다): 두 값이 같지 않은지 비교한다.
> (크다): 첫 번째 값이 두 번째 값보다 큰지 비교한다.
< (작다): 첫 번째 값이 두 번째 값보다 작은지 비교한다.
>= (크거나 같다): 첫 번째 값이 두 번째 값보다 크거나 같은지 비교한다.
<= (작거나 같다): 첫 번째 값이 두 번째 값보다 작거나 같은지 비교한다.
a = 10
b = 3
print(a == b) # 출력: False
print(a != b) # 출력: True
print(a > b) # 출력: True
print(a < b) # 출력: False
print(a >= b) # 출력: True
print(a <= b) # 출력: False
3. 논리 연산자 (Logical Operators)
논리 연산자는 논리값(True, False)에 대해 논리 연산을 수행한다.
and (그리고): 두 조건이 모두 참일 때 True를 반환한다.
or (또는): 두 조건 중 하나라도 참이면 True를 반환한다.
not (부정): 조건의 논리값을 반전시킨다.
a = True
b = False
print(a and b) # 출력: False
print(a or b) # 출력: True
print(not a) # 출력: False
4. 할당 연산자 (Assignment Operators)
할당 연산자는 변수에 값을 할당하거나, 연산 후 값을 할당한다.
=: 값을 변수에 할당한다.
+=: 더한 값을 변수에 할당한다.
-=: 뺀 값을 변수에 할당한다.
*=: 곱한 값을 변수에 할당한다.
/=: 나눈 값을 변수에 할당한다.
//=: 정수 나눈 값을 변수에 할당한다.
%=: 나머지를 변수에 할당한다.
**=: 거듭제곱한 값을 변수에 할당한다.
a = 10
a += 5
print(a) # 출력: 15
a -= 3
print(a) # 출력: 12
a *= 2
print(a) # 출력: 24
a /= 4
print(a) # 출력: 6.0
a //= 2
print(a) # 출력: 3.0
a %= 2
print(a) # 출력: 1.0
a **= 3
print(a) # 출력: 1.0
5. 비트 연산자 (Bitwise Operators)
비트 연산자는 비트 단위로 연산을 수행한다.
& (비트 AND): 두 비트가 모두 1일 때 1을 반환한다.
| (비트 OR): 두 비트 중 하나라도 1일 때 1을 반환한다.
^ (비트 XOR): 두 비트가 다를 때 1을 반환한다.
~ (비트 NOT): 비트를 반전시킨다.
<< (비트 왼쪽 이동): 비트를 왼쪽으로 지정된 수만큼 이동한다.
>> (비트 오른쪽 이동): 비트를 오른쪽으로 지정된 수만큼 이동한다.
a = 10 # 1010
b = 4 # 0100
print(a & b) # 출력: 0 (0000)
print(a | b) # 출력: 14 (1110)
print(a ^ b) # 출력: 14 (1110)
print(~a) # 출력: -11 (비트 반전 후 2의 보수)
print(a << 2) # 출력: 40 (101000)
print(a >> 2) # 출력: 2 (10)
6. 멤버십 연산자 (Membership Operators)
멤버십 연산자는 값이 시퀀스에 포함되어 있는지 확인한다.
in: 값이 시퀀스에 포함되어 있으면 True를 반환한다.
not in: 값이 시퀀스에 포함되어 있지 않으면 True를 반환한다.
list_ = [1, 2, 3, 4, 5]
print(3 in list_) # 출력: True
print(6 in list_) # 출력: False
print(3 not in list_) # 출력: False
print(6 not in list_) # 출력: True
7. 식별 연산자 (Identity Operators)
식별 연산자는 두 변수가 같은 객체를 참조하는지 확인한다.
is: 두 변수가 동일한 객체를 참조하면 True를 반환한다.
is not: 두 변수가 동일한 객체를 참조하지 않으면 True를 반환한다.
a = [1, 2, 3]
b = a
c = a[:]
print(a is b) # 출력: True (같은 객체 참조)
print(a is c) # 출력: False (다른 객체 참조)
print(a is not c) # 출력: True
print(a == c) # 출력: True (내용은 같음)