Python - 2. 연산과 연산자
2025. 1. 19. 18:32ㆍ프로그래밍 언어/Python
Python에서 연산자(operator)는 데이터를 처리하거나 조작하기 위한 기호 또는 키워드입니다. 이번 섹션에서는 다양한 연산자와 그 동작, 그리고 우선순위에 대해 알아봅니다.
2.1 산술, 비교, 논리 연산자
- 산술 연산자: 숫자 데이터를 계산할 때 사용됩니다.
- + (덧셈)
- - (뺄셈)
- * (곱셈)
- / (나눗셈, 실수)
- // (나눗셈, 정수)
- % (나머지)
- ** (거듭제곱)
실행 결과: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 # 정수 나눗셈과 실수 나눗셈의 차이 print(5 / 2) # 실수 나눗셈: 2.5 print(5 // 2) # 정수 나눗셈: 2
13 7 30 3.3333333333333335 3 1 1000 2.5 2
- 비교 연산자: 두 값을 비교하여 불리언 값을 반환합니다.
- == (같다)
- != (같지 않다)
- < (작다)
- > (크다)
- <= (작거나 같다)
- >= (크거나 같다)
실행 결과:x = 5 y = 10 print(x == y) # False print(x != y) # True print(x < y) # True print(x > y) # False print(x <= y) # True print(x >= y) # False
False True True False True False
- 논리 연산자: 불리언 값을 결합하거나 부정합니다.
- and: 두 조건이 모두 참일 때 참 반환
- or: 두 조건 중 하나라도 참이면 참 반환
- not: 조건을 부정
실행 결과:a = True b = False print(a and b) # False print(a or b) # True print(not a) # False
False True False
2.2 할당 연산자
할당 연산자는 값을 변수에 저장하거나 연산 후 값을 변수에 저장합니다.
- =: 단순 할당
- +=: 덧셈 후 할당
- -=: 뺄셈 후 할당
- *=: 곱셈 후 할당
- /=: 나눗셈 후 할당
- //=: 정수 나눗셈 후 할당
- %=: 나머지 연산 후 할당
- **=: 거듭제곱 후 할당
a = 5
# 단순 할당
b = a # b = 5
# 복합 할당 연산자
b += 2 # b = b + 2, 결과: 7
b -= 1 # b = b - 1, 결과: 6
b *= 3 # b = b * 3, 결과: 18
b /= 2 # b = b / 2, 결과: 9.0
b //= 2 # b = b // 2, 결과: 4.0
b %= 3 # b = b % 3, 결과: 1.0
b **= 2 # b = b ** 2, 결과: 1.0
print(b)
실행 결과:
1.0
2.3 비트 연산자
비트 연산자는 정수를 이진수로 변환하여 각 비트를 기준으로 연산을 수행합니다.
- & (AND): 두 비트가 모두 1일 때 1 반환
- | (OR): 두 비트 중 하나라도 1이면 1 반환
- ^ (XOR): 두 비트가 다를 때 1 반환
- ~ (NOT): 비트를 반전
- << (왼쪽 시프트): 비트를 왼쪽으로 이동
- >> (오른쪽 시프트): 비트를 오른쪽으로 이동
a = 6 # 이진수: 0b0110
b = 3 # 이진수: 0b0011
print(a & b) # AND: 2 (0b0010)
print(a | b) # OR: 7 (0b0111)
print(a ^ b) # XOR: 5 (0b0101)
print(~a) # NOT: -7 (이진수 반전 후 보수 계산)
print(a << 1) # 왼쪽 시프트: 12 (0b1100)
print(a >> 1) # 오른쪽 시프트: 3 (0b0011)
실행 결과:
2
7
5
-7
12
3
2.4 연산자 우선순위
Python의 연산자 우선순위는 다음과 같습니다 (높은 순서부터 낮은 순서):
- 괄호 ()
- 거듭제곱 **
- 부호 +x, -x, 비트 반전 ~x
- 곱셈, 나눗셈, 나머지, 정수 나눗셈 *, /, %, //
- 덧셈, 뺄셈 +, -
- 비트 시프트 <<, >>
- 비교 연산자 <, <=, >, >=, ==, !=
- 비트 연산자 &
- 비트 연산자 ^
- 비트 연산자 |
- 논리 연산자 and
- 논리 연산자 or
- 할당 연산자 =, +=, -=, 등
예를 들어:
result = 3 + 2 * 2 ** 2 - (4 / 2)
print(result)
실행 결과:
9.0
위 계산은 다음 순서로 처리됩니다:
- 거듭제곱: 2 ** 2 = 4
- 곱셈: 2 * 4 = 8
- 나눗셈: 4 / 2 = 2.0
- 덧셈과 뺄셈: 3 + 8 - 2.0 = 9.0
이번 섹션에서는 Python의 다양한 연산자와 우선순위를 배웠습니다.
'프로그래밍 언어 > Python' 카테고리의 다른 글
Python - 4. 리스트와 문자열 심화 (0) | 2025.01.19 |
---|---|
Python - 3. 제어문 (0) | 2025.01.19 |
Python - 1. 자료형과 변수 (0) | 2025.01.19 |
Tkinter 기본 기능 (0) | 2024.07.30 |
파이썬 기본 내용과 참고용 사이트 정리 (0) | 2024.07.30 |