Computer >> 컴퓨터 >  >> 프로그래밍 >> Python

파이썬 주요 연산자 완벽 정리: **, ^, //, %의 의미와 사용법

파이썬 연산자 **, ^, //, %란 무엇인가?

파이썬에는 겉보기에 비슷해 보이지만 전혀 다른 기능을 하는 연산자들이 있습니다. 이 글에서는 **(거듭제곱), ^(비트 XOR), //(몫 나눗셈), %(나머지) 네 가지 연산자의 의미와 동작 방식을 예제 코드와 함께 자세히 살펴봅니다.

1. ** — 거듭제곱(Exponentiation) 연산자

파이썬에서 **는 거듭제곱 연산자입니다. 표현식 x**y는 x를 y번 곱한 값, 즉 x의 y제곱을 반환합니다.

>>> x = 5
>>> y = 3
>>> x**y
125

2. ^ — 비트 단위 XOR 연산자

^는 비트 단위 XOR(배타적 논리합) 연산자입니다. 두 비트를 피연산자로 받아 하나는 1이고 다른 하나는 0일 때만 1을 반환하며, 둘 다 같은 값이면 0을 반환합니다.

>>> a = 10
>>> bin(a)    # 0000 1010
'0b1010'
>>> b = 20
>>> bin(b)    # 0001 0100
'0b10100'
>>> c = a ^ b
>>> c
30
>>> bin(c)    # 0001 1110
'0b11110'

3. // — 몫 나눗셈(Floor Division) 연산자

//는 바닥 나눗셈(floor division) 연산자로 정의되며, 나눗셈 결과에서 소수점 이하를 버린 정수 부분(몫)을 반환합니다.

>>> 10 / 3
3.3333333333333335
>>> 10 // 3
3

음수를 나눌 경우에는 결과가 음의 무한대 방향으로 내림(round toward negative infinity)된다는 점에 유의해야 합니다. 즉, 단순히 소수점을 버리는 것이 아니라 더 작은 정수로 내려갑니다.

>>> -10 / 3
-3.3333333333333335
>>> -10 // 3
-4

4. % — 나머지(Modulo) 연산자

% 기호는 모듈로(modulo) 연산자로 정의되며, 나눗셈 연산의 나머지를 반환합니다. 짝수·홀수 판별이나 순환 구조 처리 등에 널리 활용됩니다.

>>> 10 % 3
1
>>> 10 % 2
0

피제수(나누어지는 수)가 음수일 경우에는 파이썬이 수학적으로 '바닥 나눗셈'의 결과를 따르므로, 나머지 값이 양수로 계산될 수 있다는 점이 특징입니다. 예를 들어 -10을 3으로 나누면 몫은 -4가 되고, 나머지는 3 × (-4) = -12에서 피제수 -10을 빼면 2가 됩니다.

>>> -10 % 3
2
>>> -5 % 2
1
>>> 73 % 9
1
>>> -73 % 9
8

정리

- x ** y: x의 y제곱 (거듭제곱)
- a ^ b: 비트 단위 XOR
- a // b: 나눗셈의 몫 (음수는 음의 무한대 방향으로 내림)
- a % b: 나눗셈의 나머지 (결과의 부호는 제수와 일치)

이 네 가지 연산자는 각각 용도가 명확히 다르므로, 특히 ^(XOR)를 거듭제곱으로 착각하지 않도록 주의하는 것이 중요합니다. 실제 코드에서 다양한 예제를 직접 실행해 보면서 동작을 익혀두면 실수를 줄일 수 있습니다.