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

파이썬 모듈로(%) 연산자란? 나머지 연산자의 개념과 사용 예제

파이썬에서 % 연산자(모듈로)란?

파이썬에서 % 기호모듈로(modulo) 연산자로 정의되어 있습니다. 흔히 나머지 연산자라고도 부르며, 두 개의 숫자 피연산자를 나누었을 때 그 나머지(rest)를 반환하는 역할을 합니다. 단, 복소수(complex number)는 피연산자로 사용할 수 없습니다.

기본 사용 예제

>>> a=10
>>> b=3
>>> a%b
1

위 예제에서 10을 3으로 나누면 몫은 3이고 나머지는 1이므로, a%b의 결과는 1입니다.

실수(float)에도 적용 가능

>>> a=12.25
>>> b=4
>>> a%b
0.25

정수뿐만 아니라 실수에도 사용할 수 있습니다. 12.25를 4로 나누면 몫은 3이고 나머지는 0.25가 됩니다.

음수와 함께 사용할 때 주의점

>>> a=-10
>>> b=6
>>> a%b
2

파이썬의 모듈로 연산은 결과의 부호가 나누는 수(오른쪽 피연산자)의 부호를 따른다는 특징이 있습니다. -10을 6으로 나누면 몫은 -2(-12)가 되고, 남는 값은 2이므로 결과가 2로 출력됩니다. C 언어 등 다른 언어와 동작 방식이 다를 수 있으니 주의해야 합니다.

부동소수점 오차 발생 사례

>>> a=1.55
>>> b=0.05
>>> a%b
0.04999999999999996

실수 연산에서는 위 예제처럼 부동소수점(floating point) 표현 방식의 한계로 인해 미세한 오차가 발생할 수 있습니다. 이론상 1.55 % 0.05는 0이 되어야 하지만, 컴퓨터가 실수를 이진법으로 근사하여 저장하기 때문에 0.04999999999999996이라는 결과가 나옵니다. 정확한 계산이 필요하다면 decimal 모듈을 사용하는 것이 좋습니다.

정리

% 연산자는 파이썬에서 나눗셈의 나머지를 구하는 모듈로 연산자로, 짝수·홀수 판별, 주기적인 값 처리, 리스트 인덱스 순환 등 다양한 상황에서 유용하게 활용됩니다. 음수 연산 시 부호 규칙과 실수 연산 시 오차 가능성만 기억하면 안전하게 사용할 수 있습니다.