파이썬 - 키워드 전용 인수로 명료성을 강요하자

이동욱

2021/06/01

Categories: 파이썬

BATTER WAY 21. 키워드 전용 인수로 명료성을 강요하자.

def safe_division(number, divisor, *,
    ignore_overflow=False, ignore_zero_division=False):
  try:
    return number / divisor
  except OverflowError:
    if ignore_overflow:
      return 0
    else:
      raise
  except ZeroDivisionError:
    if ignore_zero_division:
      return float('inf')
    else:
      raise
result = safe_division(1, 10**500, True, False)
print(result)

result = safe_division(1, 0, False, True)
print(result)
ult = safe_division(1, 10**500, ignore_overflow=True)
print(result)


result = safe_division(1, 0, ignore_zero_division=True)
print(result)

def safe_division(number, divisor, *,
    ignore_overflow=False, ignore_zero_division=False):
  try:
    return number / divisor
  except OverflowError:
    if ignore_overflow:
      return 0
    else:
      raise
  except ZeroDivisionError:
    if ignore_zero_division:
      return float('inf')
    else:
      raise
result = safe_division(1, 10**500, True, False) # 에러 발생
safe_devision(1, 0, ignore_zero_division=True) # 정상 동작

핵심 정리

참고 문헌

>> Home