콘텐츠로 건너뛰기

파이썬에서 모듈로 연산하기

[

파이썬 모듈러스 연산자 사용하기

파이썬 튜토리얼을 작성하려면, 자세하고 실행 가능한 단계별 샘플 코드와 설명을 포함해야 합니다. 마크다운 형식으로 작성하며, 글을 더 가독성 있게 만들기 위해 순서 없는 목록, 굵은 글씨, 이탤릭체, 표 등을 사용하세요. 모든 H2, H3 제목에는 “modulus python”이라는 정확한 일치 키워드를 포함해야 합니다. 제목은 작성하지 않으며, H1 제목은 사용하지 말아야 합니다.


파이썬 모듈러스 연산자란?

이 튜토리얼에서 다루는 내용:

  • 수학적으로 모듈러스가 동작하는 방식
  • 파이썬 모듈러스 연산자를 정수, 실수, 음수와 함께 사용하는 방법
  • 모듈러스 연산의 결과를 계산하는 방법
  • .__mod__() 메서드를 사용하여 클래스에서 모듈러스 연산자를 활용하는 방법
  • 파이썬 모듈러스 연산자를 사용하여 실제 문제를 해결하는 방법

파이썬 모듈러스 연산자는 가끔 무시되거나 간과되는 경우가 있습니다. 하지만 이 연산자에 대한 이해는 파이썬 도구 상자에서 매우 유용한 도구가 될 것입니다.

무료 보너스: 여기를 클릭하여 파이썬 Cheat Sheet를 받아보고, 데이터 타입, 딕셔너리, 리스트, 파이썬 함수 등을 포함한 Python 3의 기본 내용을 배울 수 있습니다.

수학에서의 모듈러스 연산

모듈러스(modulo)라는 용어는 모듈러 산술(modular arithmetic)이라고 불리는 수학 분야에서 나온 용어입니다. 모듈러 산술은 고정된 숫자 집합을 가지는 원형 수직선에서의 정수 연산을 다룹니다. 이 수직선에서 수행되는 모든 산술 연산은 일정한 수인 모듈러(modulus)에 도달하면 다시 되돌아옵니다.

모듈러 산술의 대표적인 예로는 12시간 시계가 있습니다. 12시간 시계는 1부터 12까지의 고정된 값을 가지는 시계입니다. 12시간 시계를 사용하여 계수할 때, 12로 나누어 1로 되돌아가게 됩니다. 이러한 12시간 시계를 “modulo 12” 또는 “mod 12”라고 표기하기도 합니다.

모듈로 연산자는 숫자를 일정한 모듈러로 나누어 비교하고, 모듈러 범위 내에서 해당하는 숫자를 얻고자 할 때 사용합니다.

예를 들어, 오전 8시로부터 9시가 지난 시간을 알아내고 싶다고 상상해보세요. 12시간 시계에서는 단순히 8에 9를 더하면 17이라는 결과가 나옵니다. 하지만 12시간 시계의 맥락에서의 동등한 값이 무엇인지 알고 싶다면, 결과값인 17에 mod연산을 적용하여 구하면 됩니다.

8시에 9를 추가한 값인 17에 mod 12를 적용하면, 17 mod 125를 반환합니다.

이것은 즉, 오전 8시에서 9시가 지난 시간은 오후 5시임을 의미합니다. 여기서 숫자 17을 취하고, mod 12를 적용하여 오후 5시로 결정한 것입니다.

아래에는 몇 가지 실전 예시를 포함한 상세한, 단계별로 실행 가능한 샘플 코드가 포함되어 있습니다.

파이썬 모듈러스 연산자 기본 사용법

정수와 함께 사용하는 모듈러스 연산자

num1 = 17
num2 = 5
result = num1 % num2
print(result) # Output: 2

실수와 함께 사용하는 모듈러스 연산자

num1 = 10.5
num2 = 3.2
result = num1 % num2
print(result) # Output: 0.09999999999999964

음수를 사용하는 모듈러스 연산자

num1 = -13
num2 = 7
result = num1 % num2
print(result) # Output: 4

모듈러스 연산자와 divmod() 함수의 조합

num1 = 25
num2 = 3
quotient, remainder = divmod(num1, num2)
print(quotient) # Output: 8
print(remainder) # Output: 1

모듈러스 연산자 우선순위

result = 2 + 8 % 3
print(result) # Output: 3

위의 예제에서는 파이썬 모듈러스 연산자를 기본적인 데이터 타입 (정수, 실수, 음수)와 함께 사용하는 방법을 다루고 있습니다. 숫자를 서로 나눈 나머지를 구하는 절차를 자세히 설명하고 있으며, 몇 가지 유용한 활용 예시도 제시하고 있습니다.

파이썬 모듈러스 연산자 활용하기

숫자가 짝수인지 홀수인지 확인하는 방법

def is_even(num):
return num % 2 == 0
result = is_even(10)
print(result) # Output: True
result = is_even(7)
print(result) # Output: False

반복문에서 특정한 간격으로 코드 실행하기

for i in range(10):
if i % 2 == 0:
print(f"Print even number: {i}")

순환적인 반복 구현하기

def cyclic_iteration(lst, n):
index = 0
for i in range(n):
print(lst[index])
index = (index + 1) % len(lst)
numbers = [1, 2, 3, 4, 5]
cyclic_iteration(numbers, 10)

단위 변환하기

feet = 3
inch = feet * 12 % 12
print(inch) # Output: 0

소수 판별하기

def is_prime(num):
if num < 2:
return False
for i in range(2, int(num ** 0.5) + 1):
if num % i == 0:
return False
return True
result = is_prime(17)
print(result) # Output: True
result = is_prime(20)
print(result) # Output: False

암호 구현하기

def caesar_cipher(text, shift):
result = ""
for char in text:
if char.isalpha():
ascii_offset = 65 if char.isupper() else 97
result += chr((ord(char) - ascii_offset + shift) % 26 + ascii_offset)
else:
result += char
return result
message = "HELLO, WORLD!"
encrypted_message = caesar_cipher(message, 3)
print(encrypted_message) # Output: KHOOR, ZRUOG!

위의 예시들은 실제 문제를 해결하기 위해 파이썬 모듈러스 연산자를 활용하는 방법에 대해 설명하고 있습니다.

파이썬 모듈러스 연산자의 고급 활용

decimal.Decimal과 함께 사용하는 파이썬 모듈러스 연산자

from decimal import Decimal
num1 = Decimal("10.5")
num2 = Decimal("3.2")
result = num1 % num2
print(result) # Output: Decimal('1.7')

사용자 정의 클래스와 함께 사용하는 파이썬 모듈러스 연산자

class MyNumber:
def __init__(self, value):
self.value = value
def __mod__(self, other):
return self.value % other.value
num1 = MyNumber(10)
num2 = MyNumber(3)
result = num1 % num2
print(result) # Output: 1

위의 예시에서는 decimal.Decimal 클래스와 사용자 정의 클래스가 파이썬 모듈러스 연산자와 함께 사용되는 방법을 설명하고 있습니다.

결론

이번 튜토리얼에서는 파이썬 모듈러스 연산자의 개념과 기본 사용법, 실제 문제를 해결하는 방법, 고급 활용 방법 등을 다루었습니다. 이제 모듈러스 연산자를 효과적으로 활용할 수 있는 도구가 된 것을 축하드립니다.

[Share](https://twitter.com/intent/tweet/?text=Check out this %23Python
tutorial: Python%20Modulo%20in%20Practice%3A%20How%20to%20Use%20the%20%25%20Operator by

modulo-operator/) [Email](mailto:?subject=Python article for you&body=Check
modulo-operator/)

권장 동영상 강좌
Python Modulo: Using the % Operator

![Python Modulo in Practice: How to Use the %
Use-the—Operator_Watermarked.e2c969c91ddc.jpg)