파이썬에서 연산자는 변수와 값에 대해 산술, 논리, 비교, 할당, 비트 연산 등을 수행하는 데 사용된다. 다양한 연산자를 통해 여러 가지 연산을 효과적으로 처리할 수 있다. 다음은 파이썬에서 사용되는 주요 연산자들에 대한 설명이다.
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 (내용은 같음)

