티스토리 뷰

728x90

다음 예시와 같이 정수를 나눈 몫과 나머지를 동시에 구해야 할 때가 생긴다. 

 

예) 7을 3으로 나눈 몫과 나머지를 구하시오.

 

보통의 경우 아래와 같이 몫과 나머지를 따로 구한다. 

a = 7
b = 5
print(a//b, a%b)

 

divmod

파이썬에서는 몫과 나머지를 동시에 반환해주는 divmod 함수를 지원한다. 

a = 7
b = 5
print(divmod(a, b))		# (1, 2)

# unpacking 연산자(*)를 이용하는 경우
print(*divmod(a, b))	# 1 2

 

주의 사항

무조건 divmod 함수를 사용하는 것이 좋은 방법은 아니다. 

가독성이나, 팀의 코드 스타일에 따라서, a//b, a%b와 같이 쓸 때가 더 좋을 수 있다는 것을 알아두자.

또한, divmod 함수는 작은 숫자를 다룰 때 효과적이자 않으며, 큰 숫자를 다룰 때 빠르다는 것에 주의해서 사용하자!

 

728x90
댓글
공지사항
최근에 올라온 글