콘텐츠로 건너뛰기

Python 모듈: Effortlessly 사용해 보는 방법

CodeMDD.io

Python Modulo 연산자 사용 방법: % 연산자

Modulo in Mathematics

  • Modulo는 modula 산술(modular arithmetic)이라는 수학 분야에서 옵니다.
  • Modula 산술은 고정된 숫자 집합을 가진 원형 숫자 라인 상에서의 정수 산술을 다룹니다.
  • 이 숫자 라인에서 수행되는 모든 산술 연산은 특정 숫자, 즉 모듈러스(modulus)에 도달하면 다시 원점으로 돌아갑니다.
  • Modulo는 흔히 사용하는 12시간 시계를 예로 들 수 있습니다.
  • 12시간 시계에는 1부터 12까지의 고정된 값이 있습니다.
  • 12시간 시계에서는 모듈러스 12까지 카운트한 다음 1로 돌아갑니다.
  • 12시간 시계는 “modulo 12” 또는 “mod 12”로 분류됩니다.
  • Modulo 연산자는 숫자를 모듈러스와 비교하고 모듈러스 범위 내의 동등한 숫자를 가져오기 위해 사용됩니다.

Python Modulo 연산자 기본 사용 방법

  1. int로 Modulo 연산자 사용하기
num1 = 10
num2 = 3
result = num1 % num2
print(result) # Output: 1
  1. float로 Modulo 연산자 사용하기
num1 = 10.5
num2 = 4.2
result = num1 % num2
print(result) # Output: 2.1
  1. 음수 피연산자로 Modulo 연산자 사용하기
num1 = -7
num2 = 2
result = num1 % num2
print(result) # Output: 1
  1. Modulo 연산자와 divmod() 함수 사용하기
num1 = 15
num2 = 4
quotient, remainder = divmod(num1, num2)
print(quotient, remainder) # Output: 3 3
  1. Modulo 연산자 우선순위
result = 20 % 4 * 2
print(result) # Output: 0

Python Modulo 연산자의 실제 활용

  1. 숫자가 짝수인지 홀수인지 확인하는 방법
def check_even_odd(number):
if number % 2 == 0:
print("Even")
else:
print("Odd")
check_even_odd(5) # Output: Odd
  1. 특정 간격으로 반복문에서 코드 실행하기
for i in range(10):
if i % 2 == 0:
print("Even:", i)
  1. 순환 반복 생성하기
def cyclic_iteration(items, num_repetitions):
repeated_items = items * num_repetitions
for i in range(num_repetitions):
print(repeated_items[i:i + len(items)])
cyclic_iteration(["A", "B", "C"], 3)
# Output:
# ['A', 'B', 'C']
# ['A', 'B', 'C']
# ['A', 'B', 'C']
  1. 단위 변환하기
def convert_units(distance, conversion_factor):
converted_distance = distance % conversion_factor
print(converted_distance)
convert_units(500, 100) # Output: 0
  1. 소수인지 판별하기
def is_prime_number(number):
for i in range(2, int(number ** 0.5) + 1):
if number % i == 0:
return False
return True
print(is_prime_number(7)) # Output: True
  1. 암호 구현하기
def encrypt_message(message, key):
encrypted_message = ""
for char in message:
encrypted_char = chr((ord(char) + key) % 256)
encrypted_message += encrypted_char
return encrypted_message
print(encrypt_message("Hello", 5)) # Output: 'Mjqqt'

Python Modulo 연산자의 고급 사용 방법

  1. decimal.Decimal과 함께 Python Modulo 연산자 사용하기
from decimal import Decimal
num1 = Decimal("10.5")
num2 = Decimal("3.2")
result = num1 % num2
print(result) # Output: Decimal('1.7')
  1. 사용자 정의 클래스와 함께 Python Modulo 연산자 사용하기
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

결론

Python Modulo 연산자는 코드에서 종종 간과되는 경우가 있습니다. 하지만 이 연산자를 잘 이해한다면 Python 개발을 위한 가치 있는 도구를 손에 넣을 수 있습니다. Modulo 연산자를 사용하여 다양한 문제를 해결할 수 있습니다. 이 글을 통해 Python Modulo 연산자의 기본 사용 방법부터 고급 사용 방법까지 자세히 알아보았습니다. 이러한 예시 코드와 함께 실제 활용 사례를 제시하여 개념을 확실하게 이해할 수 있습니다. Python Modulo 연산자에 대한 깊은 이해를 갖고 코드를 개발하면 더욱 효율적이고 강력한 프로그램을 작성할 수 있습니다.